JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。
1、声明JSON对象:
var json_obj = {};
console.log(json_obj);
console.log(typeof json_obj);
2、添加元素:
var json_obj = {};
var name= 'soufan_data_acquisitionDemo';
json_obj[name] = {node_name: "ONE-FINE", status: "ok", pending: Array(0), running: Array(0), finished: Array(0)};
// 以下效果相同,优势不如上面的明显
// json_obj.name = {node_name: "ONE-FINE", status: "ok", pending: Array(0), running: Array(0), finished: Array(0)};
console.log(json_obj);
console.log(typeof json_obj);
3、修改元素:
var json_obj = {};
var name = 'soufan_data_acquisitionDemo';
json_obj[name] = {node_name: "ONE-FINE", status: "ok", pending: Array(0), running: Array(0), finished: Array(0)};
json_obj.soufan_data_acquisitionDemo = "我被修改了";
console.log(json_obj);
console.log(typeof json_obj);
4、查询元素:
var json_obj = {};
varname = 'soufan_data_acquisitionDemo';
json_obj[name] = {node_name: "ONE-FINE", status: "ok", pending: Array(0), running: Array(0), finished: Array(0)};
json_obj.soufan_data_acquisitionDemo = "我被修改了";
console.log(json_obj.soufan_data_acquisitionDemo);
console.log(json_obj[name]);
console.log(json_obj['soufan_data_acquisitionDemo']);
5、删除元素:
var json_obj = {};
var name = 'soufan_data_acquisitionDemo';
json_obj[name] = {node_name: "ONE-FINE", status: "ok", pending: Array(0), running: Array(0), finished: Array(0)};
json_obj.soufan_data_acquisitionDemo = "我被修改了";
console.log(json_obj);
delete json_obj[name];
console.log(json_obj);
6、遍历:
$(function() {
var json = [ {
"id" : "1",
"tagName" : "apple"
}, {
"id" : "2",
"tagName" : "orange"
}, {
"id" : "3",
"tagName" : "banana"
}, {
"id" : "4",
"tagName" : "watermelon"
}, {
"id" : "5",
"tagName" : "pineapple"
} ];
$.each(json, function(idx, obj) {
alert(idx+"---"+obj.tagName);
});
});
7、转换:
json字符串转json对象:jQuery.parseJSON(jsonStr);
json对象转json字符串:JSON.stringify(jsonObj);
参考:
js 操作json对象增删改 https://www.cnblogs.com/louby/p/7513263.html
jquery中的json操作 https://www.cnblogs.com/tingbogiu/p/5826414.html
附:js 操作json对象增删改,来源: https://www.cnblogs.com/louby/p/7513263.html
//将表单序列化成字符串
$.fn.serializeObject = function () {
var obj = {};
var count = 0;
$.each(this.serializeArray(),
function (i, o) {
var n = o.name, v = o.value;
count++;
obj[n] = obj[n] === undefined
? v
: $.isArray(obj[n])
? obj[n].concat(v)
: [obj[n], v];
});
obj.nameCounts = count + ""; //表单name个数
return JSON.stringify(obj);
};
//添加或者修改json数据
function setJson(jsonStr, name, value) {
if (!jsonStr) jsonStr = "{}";
var jsonObj = JSON.parse(jsonStr);
jsonObj[name] = value;
return JSON.stringify(jsonObj);
}
//删除数据
function deleteJson(jsonStr, name) {
if (!jsonStr) return null;
var jsonObj = JSON.parse(jsonStr);
delete jsonObj[name];
return JSON.stringify(jsonObj);
}
生成测试
// var myjsonStr = setJson(null,"name","aaa");
// alert(myjsonStr);
添加测试
// myjsonStr = setJson(myjsonStr,"age",18);
// alert(myjsonStr);
修改测试
// myjsonStr = setJson(myjsonStr,"age",20);
// alert(myjsonStr);
删除测试
// myjsonStr = deleteJson(myjsonStr,"age");
// alert(myjsonStr);
推荐:
JS操作JSON总结 https://www.cnblogs.com/worfdream/articles/1956449.html
使用Jquery解析Json基础知识 http://www.cnblogs.com/madyina/p/3448518.html