2012-01-31 77 views
-1

我對JsonObject和JsonArray的Json語法閱讀了一些帖子後非常沮喪 這是從我的本地主機返回的Json [{「Age」:18},{「Age」:18}, {「Age」:18}]關於Json語法

它是一個包含3個對象的Json數組嗎?

我想在一個字符串中eclispe打

private String strJSONValue1 = {"Age":18},{"Age":18},{"Age":18} but it have errors. 

這是該項目的演示代碼

private String strJSONValue1 ={"FirstObject": { "attr1":"one value" ,"attr2":"two value", 
"sub": { "sub1":[ {"sub1_attr":"sub1_attr_value" },{"sub1_attr":"sub2_attr_value" }]} 
} 
} 

我想澄清的差異,我應包括[ ]這意味着一個數組?

+2

JSON只能在本地獲得的Javascript JSON數組。在其他任何事情中,都必須進行分析。 – 2012-01-31 17:37:09

回答

0

你必須在根目錄下有單個對象:{},[],「Some String」,double,integer。當然,Object({})或Array([])是唯一有意義的選項,因爲它們可以包含比String,double或integer更多的其他類型的對象,但可以包含它們。

{"Age":18},{"Age":18},{"Age":18} 

這是三個對象在根,所以它無效。如果你想要的3項的集合你需要做的:

[ {"Age":18},{"Age":18},{"Age":18} ] 
+0

謝謝。我想硬編碼字符串來測試代碼是否可以輸出我的Json。然後我會嘗試從URL連接它。 THX – eman 2012-01-31 17:46:53

0

您需要附上字符串位於引號(和逃避任何內部引號)如下。你也錯過了外括號[]。

private String strJSONValue1 = "[ {\"Age\":18},{\"Age\":18},{\"Age\":18} ]" 
+0

謝謝。我想硬編碼字符串來測試代碼是否可以輸出我的Json。然後我會嘗試從URL連接它。 THX – eman 2012-01-31 17:47:20

+0

或者使用單引號'而不是',那麼你不必逃避它。 – chubbsondubs 2012-01-31 17:59:30

0

[]表示法用於定義數組。如果你有這樣的事情;

{ "Ages" : [ {"Age":18}, {"Age":18}, {"Age":18} ] } 

那麼你可以通過getJSONArray("Ages")方法與參數「時代」