JAVA 中缺少 JSON(来自 Javascript 对象)的引号

Missing quotes on JSON (from Javascript object) in JAVA

提问人:SpykeRel04D 提问时间:5/24/2018 最后编辑:SpykeRel04D 更新时间:5/24/2018 访问量:688

问:

我有一个 Java 应用程序,它从服务器接收一个非常大的“Javascript 对象”(类似于 JSON 格式)(+30k 个字符)。

源语言:

  String json ={  
   ok=true,
   data=   {  
      key1=1.0,
      key2=      [  
         1.5,
         1.5,
         1.5
      ],
      key3=      [  
         {  
            ts=1.526552846892E12,
            msg="random_message"
         },
         {  
            ts=1.526552846892E12,
            msg="random_message"
         }
      ]
   }
};

主要问题是,实际上,我收到的是这样的东西:

  String json ={  
   ok=true,
   data=   {  
      key1=1.0,
      key2=      [  
         1.5,
         1.5,
         1.5
      ],
      key3=      [  
         {  
            ts=1.526552846892E12,
            msg=random_message
         },
         {  
            ts=1.526552846892E12,
            msg=random_message
         }
      ]
   }
};

请注意,我“丢失”了 msg 上的引号。

这样做的主要问题是我无法使用 JSONObject 解析 JSON,因为它无法读取这种“不正确”的格式。

更新:

忽略我收到“损坏的对象”的问题,我遇到了无法解析它的问题,因为它是一个 JS 对象(不是纯 JSON)。

在键和字符串值中添加双引号的最佳方法是什么?

格式化的 JSON 示例:

String json ={  
   "ok":true,
   "data":   {  
      "key1":1.0,
      "key2":      [  
         1.5,
         1.5,
         1.5
      ],
      "key3"=      [  
         {  
            "ts":1.526552846892E12,
            "msg":"random_message"
         },
         {  
            "ts":1.526552846892E12,
            "msg":"random_message"
         }
      ]
   }
};
Java JSON 解析 报价

评论

1赞 Zavior 5/24/2018
你是怎么阅读 json 的?
3赞 Compass 5/24/2018
如果您收到格式错误的 JSON,最简单的做法是让提供程序纠正问题,而不是清理格式不正确的数据。
0赞 SpykeRel04D 5/24/2018
问题是提供程序给出了正确的格式,因为我也使用 js 脚本并且格式正确。
0赞 Compass 5/24/2018
你是如何解析它的?
0赞 SpykeRel04D 5/24/2018
我从 PlayFab 函数链接中获取它。它向我返回一个 PlayFabResult 对象(它就像一个字符串)。不出所料,它返回了我 JSON 破损。你说可以对数据进行清理。有没有一种“简单”的方法可以解决这个问题而不会引起头部爆炸?

答: 暂无答案