gson - 使用嵌套的json字符串从Json传递给Object

时间:2015-03-18 23:12:56

标签: java android json gson

我正在学习Java和Android开发。到目前为止,我很快就学会了开始部分。但我仍然坚持使用来自URL的JsonObjectRequest的json数据。

我创建了一个欢迎数组的类,但我不知道如何获得内部的键值对"信息"领域。如果信息来自""该怎么办?有时是空字符串(例如,当#34; loginExist"是"")而不是{}数据集?

" dummycanunderstand" 这样做的方法是什么?谢谢。

Json字符串:

{   "response":"1",
    "loginExist":"1",
    "information":{  
        "code":"7452",
        "prefix":"thatschool",
        "student":{  
            "studentID":"3",
            "username":"username.username",
            "password":"passwordtext",
            "firstname":"Alan",
            "lastname":"Smith",
            "className":"5-A",
            "classID":"1"
        },
        "appointments":{  
            "past":"0",
            "today":"0",
            "future":"0"
        },
        "teachers":[  
            {  
                "teacherID":"3",
                "firstname":"David",
                "lastname":"Copperfield",
                "title":"Music",
                "picture":"93234234.jpg"
            },
            {  
                "teacherID":"5",
                "firstname":"John",
                "lastname":"Black",
                "title":"science",
                "picture":"99988.jpg"
            }
        ]
    }
}

MainActivity.java

Gson gson = new Gson();
MainResponse data gson.fromJson(responseAsJSON.toString(), MainResponse.class);

//I am getting the "response" string value and it works.
String responseText = data.response;

MainResponse.java

public class MainResponse{

    @SerializedName("response")
    String response;

    @SerializedName("information")
    //What to do when it comes to the nested arrays ???

    @SerializedName("loginExist")
    String loginExist;
}

1 个答案:

答案 0 :(得分:0)

您需要访问here。该网站将为您的json字符串创建POJO。 Create Json Pojo Online

0.粘贴你的Json字符串

1。来源类型:JSON

2.注释风格:Gson

3。预览/下载Jar(将java文件解压缩到您的项目中)。

现在您已准备好进行测试。