0

我处于必须读取 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 中的名字。

4

5 回答 5

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

不起作用,因为该fname属性嵌套在该data属性中。因此,您需要执行以下操作:

String uname = json.getJSONObject("data").getString("fname");
于 2013-07-31T13:10:22.340 回答
1
String uname = json.getJSONObject("data").getString("fname");
于 2013-07-31T13:11:56.753 回答
0

您必须先获得data财产,然后才能获得fname财产。fname位于data物业内。

于 2013-07-31T13:11:35.650 回答
0

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

网上有很多 JSON 查看器,这是我最喜欢的一个:

http://jsonviewer.stack.hu/

String uname = json.getJSONObject("data").getString("fname");
于 2013-07-31T13:12:23.290 回答
0

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

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

在这里查看完整的示例。这里还有一个用于创建/编辑的基于 Web 的工具JSON

于 2017-03-03T12:45:22.387 回答