在java中读取json数据

时间:2013-07-31 13:07:10

标签: java json

我遇到了必须读取json数据并将其插入Sqlite表的情况。 但是这种格式的json数据:

{
    "result": "success",
    "data": {
        "userId": "873",
        "volume": "0.5",
        "schoolId": "0",
        "schoolName": "",
        "preferredLanguageId": "1",
        "fname": "robin",
        "lname": "singh",
        "email": "rob@live.com",
        "password": "password1111",
        "isParent": "0",
        "countryId": "254",
        "stateId": "143",
        "state": "",
        "city": "san diego",
        "coins": "0",
        "zip": "",
        "players": []
    }
}

JSONObject json = new JSONObject(jsonString);
String uname=json.getString("fname");

但是我无法在字符串uname中获得第一个名字。

5 个答案:

答案 0 :(得分:5)

String uname=json.getString("fname");

无法正常工作,因为fname属性嵌套在data属性中。因此,您需要执行以下操作:

String uname = json.getJSONObject("data").getString("fname");

答案 1 :(得分:1)

String uname = json.getJSONObject("data").getString("fname");

答案 2 :(得分:0)

您必须先获取data属性,然后获取fname属性。 fname位于data属性中。

答案 3 :(得分:0)

您需要将“data”作为JSON对象读取,然后将“fname”作为字符串读取。

网上有很多JSON观众,这是我最喜欢的观众之一:

http://jsonviewer.stack.hu/

String uname = json.getJSONObject("data").getString("fname");

答案 4 :(得分:0)

首先,您必须从data字符串中获取JSON个对象。这是一个例子:

JSONObject json = new JSONObject(jsonString);
JSONObject data = json.getJSONObject("data");
String uname = data.getString("fname");

看看完整的示例here。 此外,here是一个基于网络的工具,用于创建/编辑JSON