Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android java中不带花括号的JSON解析列表_Android_Json_Arrays - Fatal编程技术网

在android java中不带花括号的JSON解析列表

在android java中不带花括号的JSON解析列表,android,json,arrays,Android,Json,Arrays,我正在尝试将JSON格式的列表读入Android Java 我可以使用getJSONarray()阅读儿童。但是无法读取消息或电子邮件的值 似乎getJSONarray()不能满足我的需要 是的,我正在使用getJSONObjectonchildren来提取消息。但在获取消息数组后,如何提取单个值 { "children": [{ "message": ["message1","message2","message3"], "email": ["email1",

我正在尝试将JSON格式的列表读入Android Java

可以使用
getJSONarray()
阅读儿童。但是无法读取消息电子邮件的值

似乎getJSONarray()不能满足我的需要

是的,我正在使用
getJSONObject
onchildren来提取消息。但在获取消息数组后,如何提取单个值

{
  "children": [{
    "message": ["message1","message2","message3"],
    "email": ["email1",
              "email2"]
  }, {
    "message": ["message1", "message2", "message3"],
    "email": ["email1", "email2"]
  }]
}
我知道如何从中提取:

  {
      "children": [{
                     "message1": "message___1"
                     "message2": "message___2"
                     "message3": "message___3"

          }]
}

但是当它都在一个列表中时就不需要了。

一旦你得到了“children”的
JSONArray
,你需要做的就是一个接一个地提取单个
JSONObjects
,如下所示:

for (int counter = 0; counter < childArray.length(); counter++) { 
    //Get the next item
    JSONObject nextobj = childArray.getJSONObject(counter);
for(int counter=0;counter
然后,您可以从
nextobj
变量中提取消息和电子邮件数组。这是因为每个“消息”和“电子邮件”都不能直接从您的“子”JSONArray访问,它们被包装在
JSONObjects
中,请尝试以下代码:

for(int i=0; i<childrenArray.length(); i++)
{
JSONObject childObj=childrenArray.getJSONObject(i);
JSONArray messageArray=childObj.getJSONArray("message");
    for(int j=0; j<messageArray.length();j++
        {
            //here get value from messageArray.getString(j) or messageArray.getJSONObject(j), whichever applicable
        }

JSONArray emailArray=childObj.getJSONArray("email");
    for(int k=0; k<emailArray.length();k++
        {
            //here get value from emailArray.getString(k) or emailArray.getJSONObject(k), whichever applicable
        }

}

for(int i=0;i*是的,我在子对象上使用getJSONobject来提取消息。但是在获取消息数组后如何提取单个值呢?我想从列表中提取值。这些值显然没有索引,无法在它们上使用getJSONobject。