使用JSON的键值对

有没有办法以键/值对的方式使用JSON对象处理数据结构?
如果是这样,有人可以详细说明如何从密钥访问关联的值对象

假设我有这样的东西

KEY1 | VALUE OBJECT1 - (NAME: "XXXXXX", VALUE:100.0) KEY2 | VALUE OBJECT2 - (NAME: "YYYYYYY", VALUE:200.0) KEY3 | VALUE OBJECT3 - (NAME: "ZZZZZZZ", VALUE:500.0) 

“JSON对象”实际上是矛盾的。 JSON是描述对象而不是实际对象的文本格式,因此数据可以是JSONforms,也可以反序列化为对象。

那个JSON看起来像这样:

 {"KEY1":{"NAME":"XXXXXX","VALUE":100},"KEY2":{"NAME":"YYYYYYY","VALUE":200},"KEY3":{"NAME":"ZZZZZZZ","VALUE":500}} 

一旦将JSON解析为Javascript对象(在下面的代码中称为data ),您就可以访问KEY2的对象,它的属性如下:

 var obj = data.KEY2; alert(obj.NAME); alert(obj.VALUE); 

如果您将密钥作为字符串,则可以使用索引表示法:

 var key = 'KEY3'; var obj = data[key]; 
 var object = { key1 : { name : 'xxxxxx', value : '100.0' }, key2 : { name : 'yyyyyyy', value : '200.0' }, key3 : { name : 'zzzzzz', value : '500.0' }, } 

如果这就是你的对象看起来如何,你想循环每个名称和值,那么我会尝试做类似的事情。

 $.each(object,function(key,innerjson){ /* key would be key1,key2,key3 innerjson would be the name and value ** */ //Alerts and logging of the variable. console.log(innerjson); //should show you the value alert(innerjson.name); //Should say xxxxxx,yyyyyy,zzzzzzz }); 

JSON (= J ava S cript O bject N otation),是一种将Javascript对象转换为字符串的轻量级快速机制,反之亦然。

由于Javascripts对象由key/value对组成,因此非常易于使用并以这种方式访问​​JSON。

所以,如果我们有一个对象:

 var myObj = { foo: 'bar', base: 'ball', deep: { java: 'script' } }; 

我们可以通过调用window.JSON.stringify(myObj);将其转换为字符串window.JSON.stringify(myObj); 结果为"{"foo":"bar","base":"ball","deep":{"java":"script"}}"

window.JSON.parse("a json string like the above"); ,我们会调用window.JSON.parse("a json string like the above");

JSON.parse()成功返回一个javascript对象/数组。

 alert(myObj.deep.java); // 'script' 

window.JSON在所有浏览器中window.JSON是原生的。 一些“旧”浏览器需要一个小javascript插件,它提供上述function。 有关详细信息,请访问http://www.json.org 。

我看到你要问的是什么,我认为这是你所寻找的最简单的答案,因为你可能不知道你被发送了多少个密钥对。

简单密钥对JSON结构

 var data = { 'XXXXXX' : '100.0', 'YYYYYYY' : '200.0', 'ZZZZZZZ' : '500.0', } 

用法JavaScript代码访问密钥对

 for (var key in data) { if (!data.hasOwnProperty(key)) { continue; } console.log(key + ' -> ' + data[key]); }; 

控制台输出应如下所示

 XXXXXX -> 100.0 YYYYYYY -> 200.0 ZZZZZZZ -> 500.0 

这是一个JSFiddle来展示它是如何工作的。