JSONException没有值

时间:2014-03-25 08:39:31

标签: android json jsonobject

我有字符串对象:

String qwe = "{\"myObj\":" + "{" + "\"first\":123," + "\"second\":111.0}" +"}";

我的代码

private static final String TAG_FIRST = "first";
res = new JSONObject(qwe);
Double q1 = res.getDouble(TAG_FIRST);

我有“先没有价值”的例外。

我做错了什么?

抱歉我的英语不好。 最好的问候

1 个答案:

答案 0 :(得分:5)

您的JSON定义了一个属性为myObj的对象。 myObj的值是一个不同的对象。 对象具有first属性。如果我们只查看JSON并使用缩进:

,这可能会更清楚
{
    "myObj": {
        "first": 123,
        "second": 111.0
    }
}

首先,您必须获取myObj对象,然后从获取first

private static final String TAG_MYOBJ = "myObj";
private static final String TAG_FIRST = "first";
res = new JSONObject(qwe);
JSONObject myObj = res.getJSONObject(TAG_MYOBJ);
Double q1 = myObj.getDouble(TAG_FIRST);

或者,如果你没有意思拥有那个外层,你可能希望你的JSON字符串看起来像这样:

String qwe =
+ "{"
+ "\"first\":123,"
+ "\"second\":111.0"
+"}";

该字符串包含此JSON:

{
    "first": 123,
    "second": 111.0
}

...可以正常使用原始代码(此处重复):

private static final String TAG_FIRST = "first";
res = new JSONObject(qwe);
Double q1 = res.getDouble(TAG_FIRST);