1[[23[]]
我知道"["表示JOSNArray,"{"表示JSONObject。但是,由于我的结果以 [ 开头,即使 { 在实际字符串之前,整个数据片段现在也是一个数组吗?
如果在 android 中解析,我应该解析数组还是对象?
我的PHP脚本:
它是一个
包含单个对象的数组。字符串分隔第一个对象第一项的名称。
正如Zbynek Vyskovsky所说,它是一个具有单个对象的数组,因此要获得可以使用的数据
JSONArray jsonArray=new JSONArray(<your json object>);
JSONObject jsonObject = jsonArray.get(0);
String date = jsonObject.getString("Date");
String temp = jsonObject.getString("Temp");
确定这一点的最佳方法是先格式化。将您的回复粘贴到此站点 http://json.parser.online.fr/
在那里你会看到
1)红色方括号 - 代表一个数组。
2)蓝色大括号代表一个对象。
简而言之,您有一个包含单个对象的数组。
您的 Json 是一个只包含一个 Json 对象的数组。我将实际展示它如何与JSon Array和JsonObject一起工作。
例如,我有一个JSON数组:
[{
"name": "abc",
"description": "ABC server",
"state": "online"
},
{
"name": "xyz",
"description": "XYZ client",
"state": "online"
},
{
"name": "mnp",
"description": "MNP server",
"state": "online"
}]
所以上面的数组实际上包含 3 个 Json 对象,例如 [{Obj1},{Obj2},{Obj3}]
.
当我们尝试获取键的任何值时,首先我们需要存储 JSon 数组,然后我们需要通过传递索引来获取确切的 Json 对象,例如:jsonObject obj = JsonArray.get(0)
。
在get()
方法中将密钥传递给 Json 对象后不久,您将获得密钥。 例如:String s = obj.get("state")
.