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