你的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);
除了T.J. Crowder的答案:在創建更復雜的對象時,可以檢查生成的JSON是否有效http://jsonlint.com/ – Droidman