js操作json数据的一些感受
2011-08-21 23:37
375 查看
最近在搞 json 数据传输,直接用的 javascript 对数据进行操作。json数据为:
var json ={ "global":"200", "camera":[{"key2":"F5.6","key3":"35mm" }], "jam":[ {"Red":"100"}, {"Yellow":"300"}, {"Green":"500"}] };
现在我想要的效果是 根据“global”、“camera”、“jam”这些 key 值来遍历里面的内容,而且这些 key 事先是不定的,根据传递过来的参数确定 key 值。
js 函数为 :
这样就可以得到最外层 key 值为 id 的object中的 key 值和对应的 value 了。
起初看 json 取数据时,看似很简单,只要知道key值便可以,比如 json.global、json.camera.key2、json.jam.Red ,但这些是通过“.”这个操作符实现的,必须确定key 值,而且这个 key 值无法通过变量来改变(或许可以,但是我还不知道)。
其实后来我发现,用“.” 这个操作符操作,是把数据当做是一个 object 来操作了,而如果通过“[]”来操作,便把数据当做是list,所以每个“{ }”便是一个元素。
global的第一个元素 json["global"][0]为“200”,再用[]取值得到“2”、“0”、“0”;
json["camera"][0]为{"key2":F5.6,"key3":35mm},取到的值分别为json["camera"][0]["key2"]=F5.6和json["camera"][0]["key3"]=35mm;
而jam取到的为 json["jam"][0]["Red"]=100, json["jam"][1]["Yellow"]=300, json["jam"][2]["Green"]=500。
var json ={ "global":"200", "camera":[{"key2":"F5.6","key3":"35mm" }], "jam":[ {"Red":"100"}, {"Yellow":"300"}, {"Green":"500"}] };
现在我想要的效果是 根据“global”、“camera”、“jam”这些 key 值来遍历里面的内容,而且这些 key 事先是不定的,根据传递过来的参数确定 key 值。
js 函数为 :
funciton test(id) { // id 为传进来的key值 for(var item in json[id]) { for(var key in json[id][item]) { alert("key="+ item +"value="+ json[id][item][key] ); } } }
这样就可以得到最外层 key 值为 id 的object中的 key 值和对应的 value 了。
起初看 json 取数据时,看似很简单,只要知道key值便可以,比如 json.global、json.camera.key2、json.jam.Red ,但这些是通过“.”这个操作符实现的,必须确定key 值,而且这个 key 值无法通过变量来改变(或许可以,但是我还不知道)。
其实后来我发现,用“.” 这个操作符操作,是把数据当做是一个 object 来操作了,而如果通过“[]”来操作,便把数据当做是list,所以每个“{ }”便是一个元素。
global的第一个元素 json["global"][0]为“200”,再用[]取值得到“2”、“0”、“0”;
json["camera"][0]为{"key2":F5.6,"key3":35mm},取到的值分别为json["camera"][0]["key2"]=F5.6和json["camera"][0]["key3"]=35mm;
而jam取到的为 json["jam"][0]["Red"]=100, json["jam"][1]["Yellow"]=300, json["jam"][2]["Green"]=500。
相关文章推荐
- js与jQuery实现获取table中的数据并拼成json字符串操作示例
- js之操作JSON数据
- JSON格式数据的js操作
- json格式的数据绑定到listview上的一些操作
- Jquery 局部刷新及 表单取值赋值 处理返回json数据 一些基本操作
- JS数据处理[对json数据的一些简单处理转为数组或者键值对]
- js操作json数据
- js操作Json数据,JSON对象与字符串转化
- JS数据处理[对json数据的一些简单处理转为数组或者键值对]
- JS操作JSON数据交换
- 在JS中操作json数据
- js操作Json数据,JSON对象与字符串转化 - jack_Meng - 博客园
- json数据在js中的常见操作
- JS操作Json数据
- 遍历表格中的input转化为json数据传到后台解析实现一些操作
- Javascript中JSON数据分组优化实践及JS操作JSON总结
- Js操作后台返回的json数据
- 前台js传入json或map类型数据给后台以及后台java接收操作
- 在JS中操作json数据
- Jquery 局部刷新及 表单取值赋值 处理返回json数据 一些基本操作