2011-08-23 99 views
0

我有以下的JSON文件:如何根據JavaScript中的值獲取JSON字段的名稱?

"fields": { 
     "x1": { 
      "name": "AnExteremLongName" 
     }, 
     "x2": { 
      "name": "AnotherExteremLongName" 
     }, 
    },"row": [ 
     { 
      "x1": { 
       "name":"Some random Text" 
      }, 
      "x2": { 
       "name":"Other random Text" 
      } 
     }, .... 

這基本上是一個表,以減少JSON文件的大小,名稱extraced這個x值。

我想要得到「AnExteremLongName」的值,所以我必須先獲得有代表性的X值。我怎樣才能做到這一點沒有閱讀所有可變因素,並將它們存儲到一個「哈希映射」

所以基本上是這樣的:

String getParamNamebyValue(String ParamValue); 
+0

我想你將不得不迭代,因爲這是從它的設計工作方式倒退。想象一下,你只是有一個電話簿和一定數量,你需要查找與該號碼相關的名稱。這有點像。 – Wiseguy

+0

@Stefan:你真正期待什麼作爲getParamNamebyValue(「AnExteremLongName」)的返回值? 「fields.x1」?那麼如果「AnExteremLongName」在json字符串中出現多次呢? – Jiri

回答

2

你必須使用for in通過對象的屬性來遍歷並加以比較。但它不是很快,我不會推薦它。

類似於this

+0

是的,我也這麼認爲......如果沒有這種優化,發送列表會更好,即使paramternames可能需要大於10個字符? – Stefan

+2

我建議你不要在你的代碼中優化它,而只是壓縮你發送的Json。如果這些事情重複自己很多壓縮會帶來的尺寸下降.. – Tigraine

+0

+1壓縮。 JSON的佔用空間非常小,所以如果它太大,你將不得不處理你的數據,並利用散列,分頁來優化你的應用程序。 –

相關問題