从Web请求将字符串转换为JSON数组

时间:2015-05-26 14:58:26

标签: java android json

我想知道如何将此字符串转换为数组:

[{"title":"test","birth":"20.05"},{"title":"test","birth":"13.05"},{"title":"test","birth":"13.06"},{"title":"test","birth":"23.06"},{"title":"test","birth":"01.12"},{"title":"test","birth":"01.06"}]

我已经在这里找到了这个:

 JSONObject jsnobject = new JSONObject(readlocationFeed);
JSONArray jsonArray = jsnobject.getJSONArray("locations");
for (int i = 0; i < jsonArray.length(); i++) {
    JSONObject explrObject = jsonArray.getJSONObject(i);

但是如果我尝试制作对象,我总是会得到null。在这里:

JSONArray jsonArray = jsnobject.getJSONArray("locations");

我不知道我应该输入什么作为“位置”。我应该输入“[]”吗?

非常感谢您的帮助!

丹尼尔

2 个答案:

答案 0 :(得分:1)

  

我不知道我应该输入什么作为“位置”。我应该输入“[]”吗?

没有readlocationFeed已经是JSONArray。你只需要

JSONArray jsonArray = new JSONArray(readlocationFeed);

没有

JSONObject jsnobject = new JSONObject(readlocationFeed);
JSONArray jsonArray = jsnobject.getJSONArray("locations");

答案 1 :(得分:0)

不应该是相反的方式吗?

JSONArray jsnArray = new JSONArray(readlocationFeed);

无论如何,我建议您使用GSON来解决这类问题:

Gson gson = new Gson();
MyClass[] arr = gson.fromJson(str, MyClass[].class);

class MyClass{
    double birth;
    String title;       
}