2016-02-26 91 views
0
1[[23[]] 

我知道'['代表JOSNArray,'{'代表JSONObject。然而,因为我的结果始于[整个数据块现在是一个数组,即使{出现在实际的字符串之前?我的JSON是一个数组还是一个对象?

如果在android中解析,我应该解析数组还是对象?

我的PHP脚本:

+0

其数组.... – curiousMind

回答

1

它是一个包含单个对象的数组。字符串分隔第一个对象的第一个项目的名称。

1

正如兹比涅克Vyskovsky与单个对象的数组说得这么让你可以使用

  JSONArray jsonArray=new JSONArray(<your json object>); 
     JSONObject jsonObject = jsonArray.get(0); 
     String date = jsonObject.getString("Date"); 
     String temp = jsonObject.getString("Temp"); 
+0

谢谢先生。我还需要一个for循环吗? – collision934

+0

如果你的jsonArray包含多个对象,你需要一个for循环遍历它。与普通数组中的概念相同。 –

1

数据您的JSON是只包含一个Json的object.I实际上将展示它如何与工作的一个数组JSon数组和JsonObject。

例如我有一个JSON阵列:

[{ 
     "name": "abc", 
     "description": "ABC server", 
     "state": "online" 
    }, 
    { 
     "name": "xyz", 
     "description": "XYZ client", 
     "state": "online" 
    }, 
    { 
     "name": "mnp", 
     "description": "MNP server", 
     "state": "online" 
    }] 

因此上述阵列实际上包含像[{Obj1},{Obj2},{Obj3}] 3个JSON对象。

当我们试图获得某个键的任何值时,首先我们需要存储JSon数组,然后我们需要通过传递索引来获得确切的Json对象,例如:jsonObject obj = JsonArray.get(0)

在将密钥传递给get()方法中的Json对象后不久,您将获得您的密钥。例如:String s = obj.get("state")

1

确定此问题的最佳方法是格式第一。 贴在这个网站http://json.parser.online.fr/

有你的回应,你会看到

1)红方括号-represent的数组。

2)蓝色大括号代表一个对象。

总之你有一个包含单个对象的数组。