有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将字符串从Web请求转换为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);

但如果我试图使这个对象为空。这里:

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

我不知道我应该输入什么作为“地点”。我应该输入“[]”吗

非常感谢你的帮助

丹尼尔


共 (2) 个答案

  1. # 1 楼答案

    I don't know what I should enter as "locations". Should I enter "[]" ?

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

    JSONArray jsonArray = new JSONArray(readlocationFeed);
    

    没有

    JSONObject jsnobject = new JSONObject(readlocationFeed);
    JSONArray jsonArray = jsnobject.getJSONArray("locations");
    
  2. # 2 楼答案

    不是应该反过来吗

    JSONArray jsnArray = new JSONArray(readlocationFeed);
    

    无论如何,我建议您应该使用GSON解决此类问题:

    Gson gson = new Gson();
    MyClass[] arr = gson.fromJson(str, MyClass[].class);
    
    class MyClass{
        double birth;
        String title;       
    }