2017-06-22 80 views
1

我的JSON結構就像JSON值擴展另一個JSON值

main = { 
     "hideIds1":["id1","id2","id3","id4"], 
     "hideIds2":["id11","id12","id13","id14"], 
     "maindHides1":["hideIds1","id7","id9"] 
     "maindHides2":["hideIds1","hideIds2","id14","id18"] 
    } 

看起來「mainHides1」是伸出「hideIds1」的。當我重複「mainHides1」我要檢查的關鍵是所有的值值或不在主JsonObject中。在這個迭代中,第一個值變爲true,但對於其他不需要的ID。

我期望的是當我訪問「maindHides1」值時,它變得像[「id1」,「id2」,「id3」,「id4」,「id7」,「id9」]。 JSON會自動執行類似擴展還是我必須在程序中手動執行?

或者任何其他的處理這個問題的方法。

回答

0

JSON是純粹的類型結構,它不是一個類,庫或框架。 您需要手動創建此擴展。

1

你可以使用GSON庫和種類JSON到java object。一旦你有你的Java對象,你可以做你需要的任務。

1

對於手動選項,您可以使用JSON中的鍵創建自己的哈希集,並且您可以執行的操作是在添加值時可以交叉檢查它們是否與任何當前鍵值相等。如果是,那麼你可以將它的值在內部循環中添加到值集中。

1

在JSON本身是不可能的,但我建議使用類似TypeScript和剛剛創建的模型,只要你想,這將是類似的東西:

interface IMainModel { 
    IDs: array; 
} 
var donut: IHides1Model = { 
    main: IMainModel, 
    IDs: array 
};