2011-08-23 111 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的占用空间非常小,所以如果它太大,你将不得不处理你的数据,并利用散列,分页来优化你的应用程序。 –

相关问题