gpt4 book ai didi

java - JSON_encoded String 到 Java JSONObject

转载 作者:行者123 更新时间:2023-11-30 09:28:05 25 4
gpt4 key购买 nike

我有一个来自服务器的 JSON 响应。它看起来像这样:

"json_key" : { 
"key_1" : value,
"key_2" : json_object,
"key_3" : json_object
}

问题是其中一个 json 对象采用特定编码

"object_key": "a:4:{s:6:\"ITEM_KEY_1\";s:2:\"ITEM_VALUE_1\";s:6:\"ITEM_KEY_2\";s:2:\"ITEM_VALUE+2\";s:8:\"ITEM_KEY_3\";s:8:\"ITEM_VALUE_3\";s:8:\"ITEM_KEY_4\";s:5:\"ITEM_VALUE_4\";}"

据我了解,这是一个 json_encoded 字符串。如何将其转换为 java JSONObject?问这个是因为当我尝试通常的方法时 JSONObject json = new JSONObject(jsonStr); 它抛出一个 JSONException - cant convert String to JSONObject

编辑每个验证工具都将对象值视为字符串,而不是 JSON。

最佳答案

问题是
“object_key”:“a:4: s:6:\”ITEM_KEY_1\”;s:2:\”ITEM_VALUE_1\”;s:6:\”ITEM_KEY_2\”;s:2:\”ITEM_VALUE+ 2\";s:8:\"ITEM_KEY_3\";s:8:\"ITEM_VALUE_3\";s:8:\"ITEM_KEY_4\";s:5:\"ITEM_VALUE_4\";}"

不是有效的 JSON,因此当您尝试解析它时会出错。字符串中的第一个错误是:"object_key": "a: 4:,但我猜你希望整个字符串都在 object_key 下

据我所知,JSON 不能忽略值中的“:”,并且没有转义符。如果想法不是对象键包含所有这些,那么 JSON 需要重构直到它有效。

作为工具,使用 http://jsonlint.com/ ,它允许您检查 JSON 是否有效

RE: Yami 的编辑 - 恐怕你给我们的 JSON 样本无效,正如我列出的网站所示。有关此问题的更多帮助,您需要将私有(private) JSON 数据更改为与这些站点之一验证 JSON 时产生的结果相同的结果,否则我们无能为力并验证它

关于java - JSON_encoded String 到 Java JSONObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14216897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com