後對象的訪問HashMap的我在Java代碼中取得了如何轉換成JSON
HashMap<PriceBreak, ArrayList<PricingElement>>
,並推送到客戶端通過GSON。 現在在JavaScript中,如果我輸出的對象,它看起來像這樣的控制檯:
Object {
PriceBreak [amount=50-99, discountedPrice=n/a] orderNo:0 forDeletion: false forChanging: false forAdding: false: Array[5],
PriceBreak [amount=250+, discountedPrice=n/a] orderNo:0 forDeletion: false forChanging: false forAdding: false: Array[5],
PriceBreak [amount=1-9, discountedPrice=n/a] orderNo:0 forDeletion: false forChanging: false forAdding: false: Array[5],
PriceBreak [amount=100-249, discountedPrice=n/a] orderNo:0 forDeletion: false forChanging: false forAdding: false: Array[5], …
}
而且我不知道如何訪問密鑰(PriceBreak)成員或值(ArrayList的)。看起來每個關鍵字都是相同的(PriceBreak),我不知道如何訪問特定的關鍵字。 有什麼建議嗎?
看起來不正確生成您的數據。它看起來像整個'PriceBreak [amount = 50-99,discountedPrice = n/a] orderNo:0 fordeletion:false forChanging:false forAdding:false'部分實際上是**屬性名稱**並且數組是值那部分是好的)。請注意,您只能使用**字符串**和**數字**作爲JavaScript中的屬性名稱,因此您必須修復Java代碼以將每個「PriceBreak」實例序列化爲更有意義的內容。 –
或者這真的是你想要的嗎?您可以使用'obj [「PriceBreak [amount = 50-99,discountedPrice = n/a] orderNo:0 forDeletion:false forChanging:false forAdding:false」]'訪問其中一個屬性,然後或[遍歷屬性]( http://stackoverflow.com/q/85992/218196)。也看看[訪問/進程(嵌套)對象,數組或JSON](http://stackoverflow.com/questions/11922383/access-process-nested-objects-arys-or-json) –
@Felix Kling是啊,我想我在這裏的邏輯失敗了。 Gson做了我所要求的 - 做出了關鍵/值對。雖然這不是特別有用的,當我必須使用像這樣的長參數訪問值時。 我認爲一個包含PriceBreak和ArrayList的新類的數組會更適合我。 編輯:但我會檢查迭代財產第一 –
kacpr