【发布时间】:2016-08-09 18:40:11
【问题描述】:
我使用上面的代码在try-catch 中解析JSON。
JSONArray jsonRootObject = new JSONArray(text);
JSONArray jsonArray = jsonRootObject.optJSONArray(2);
name = jsonArray.toString();
Toast.makeText(MainActivity.this, name, Toast.LENGTH_LONG).show();
我在下面的代码中使用 2 作为索引,因为我会从候选人那里得到值。我认为,这很奇怪,因为数组中没有键值对。我只想从该数组中获取第一个键(在此示例中为 subtest1。),它的值没有意义。
{
"images": [
{
"time": 2.86091,
"transaction":
{
"status": "Complete",
"subject": "test2",
"confidence": 0.77,
"gallery_name": "gallerytest1",
},
"candidates": [
{
"subtest1": "0.802138030529022",
"enrollment_timestamp": "1416850761"
},
{
"elizabeth": "0.802138030529022",
"enrollment_timestamp": "1417207485"
},
{
"elizabeth": "0.777253568172455",
"enrollment_timestamp": "1416518415"
},
{
"elizabeth": "0.777253568172455",
"enrollment_timestamp": "1416431816"
}
]
} ]
}
【问题讨论】:
-
你有什么问题?你的问题很清楚。先说清楚
-
您似乎混淆了 Json 数组和对象。在 Objects 中,您可以通过名称访问属性,在 Arrays 中,您可以通过编号访问元素。
-
你想从你的候选人数组中得到什么?只有第一个元素?
-
@ShafayatMamun:没错!
-
好的,然后看看我的答案或 ravi 的答案。它可能会帮助你。