gpt4 book ai didi

java - 在 Java Android 中解码 JSON

转载 作者:行者123 更新时间:2023-12-02 06:49:57 25 4
gpt4 key购买 nike

嗨,我已经从 PHP 编码了 JSON,结果如下:

{"ticket":[
{"ticket":[{"a":"10.00","b":"1.00","c":"1.00","d":"abcde","f":"7"},
{"ticket":[{"a":"10.00","b":"1.00","c":"1.00","d":"abcde","f":"7"}
]}


object {1}
ticket [2]
0 {6}
a : 10.00
b : 1.00
c : 1.00
d : abcde
e : 7

1 {6}
a : 10.00
b : 1.00
c : 1.00
d : abcde
e : 7

当我在java中打开它时,整个事情就像一个JSONObject一样,我将其分成两个JSONArray,第一个包含工作ticket > 然后第二个包含

    {"ticket":[{"a":"10.00","b":"1.00","c":"1.00","d":"abcde","f":"7"},
{"ticket":[{"a":"10.00","b":"1.00","c":"1.00","d":"abcde","f":"7"}

正如您所期望的,第二个 JSONArray 的长度为 2,可以分解为上面的两行(每行作为一个字符串),但是有没有办法让我从字符串而不对其进行任何操作/标记它以查找 abc ...等的值?

最佳答案

您提供的 JSON 有缺陷。第二个和第三个 ticket 键上缺少结束 ]

另外,如果可能的话,您应该更改名称,当您在 JSON 对象中搜索错误时,3 个 ticket 键会非常困惑。基于此,我不确定您的 JSON 应该是什么样子。

您应该使用提供的JSONObject函数来访问值。它们易于使用,您无需创建中间变量。

假设您的 JSON 如下所示,并存储在名为 json 的 JSONObject 变量中:

{ "tickets":
[
{ "tickets2": [{"a": 1, "b": 2, ...}] },
{ "tickets3": [{"a": 3, "b": 4, ...}] }
]
}

可以像这样访问值:

json.getJSONArray("tickets").getJSONArray("tickets2").getInt("a");  // = 1

如果您只想检查值是否可用,请使用 isNull 函数。

if (json.getJSONArray("tickets").getJSONArray("tickets2").isNull("a")) {
//a is not available
}

请记住,当所需的键不可用时,get* 函数会抛出 JSONException,并且 isNull 将为 null 值返回 true也是如此。

关于java - 在 Java Android 中解码 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18171579/

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