JavaScript中JSON对象与字符串互转及操作详解
作者:木棉时间:2026-10-27 07:08:32浏览:114
本文详细讲解JavaScript中JSON对象与字符串的相互转换方法。涵盖手动递归实现json2str函数、利用eval进行字符串解析、处理JSON数组序列化,以及使用原生JSON.stringify和json2.js库的标准做法。同时包含遍历JSON对象属性及动态修改值的示例代码,帮助开发者掌握不同场景下的数据格式处理技巧。
JSON对象基础定义与遍历操作
以下是相关代码示例:
定义一个JSON对象:var json = {aa:true,bb:true};
定义另一个包含字符串和嵌套对象的JSON对象:var json1 = {aa:'b',bb:{cc:true,dd:true}}; 1:js操作json对象
以下是遍历JSON对象属性的代码:
通过for-in循环遍历json对象的键:for(var item in json){
输出当前键名,结果显示为aa和bb,其数据类型为string。
使用typeof检查item的类型。
通过eval执行动态属性访问,例如eval("json."+item),结果为true,类型为boolean。
使用eval动态修改JSON对象的属性值,例如eval(("json."+item+"=false;"));
} 2:json对象转化为String对象的方法
JSON对象与字符串的手动互转实现
以下是将JSON对象转换为字符串的方法:
/**
* 自定义函数将json对象转为字符串形式
*/
function json2str(o) {
初始化一个数组arr用于存储键值对字符串。
定义内部格式化函数fmt:
如果值是对象且不为null,则递归调用json2str处理。
如果值是字符串或数字,则添加单引号后返回;否则直接返回原值。
}
遍历对象o的每个键i,将键名和格式化后的值push到arr中。
返回由花括号包裹、逗号分隔的arr.join结果。
} 3:string对象转化为json对象
以下是将字符串转换为JSON对象的方法:
function stringToJson(stringValue)
{
使用eval解析字符串,定义变量theJsonValue为解析后的结果。
返回解析后的JSON对象theJsonValue。
} 4:json数组转化为 String对象的方法(要掉要上面那个方法)
以下是将JSON数组转换为字符串的方法:
function JsonArrayToStringCfz(jsonArray)
初始化字符串JsonArrayString为左方括号"["。
通过for循环遍历jsonArray数组的每个元素:for(var i=0;i<jsonArray.length;i++){
将当前元素转换为字符串并追加到JsonArrayString,注意此处逻辑可能产生多余逗号。
}
JsonArrayString = JsonArrayString.substring(0,JsonArrayString.length-1)+"]";
返回最终生成的JsonArrayString。
} 5:利用json.js json转string
使用JSON.stringify标准转换方法
以下是利用json.js库进行JSON转字符串的示例:
引入json2.js脚本文件:<script src="json2.js"></script>
开始JavaScript代码块:<script>
定义一个包含数组和计数的对象:var date = {myArr : ["a" , "b" , "c" , "d"] , count : 4};
使用JSON.stringify将date对象转换为字符串str。
通过alert弹窗显示转换后的字符串str。
结束JavaScript代码块:</script>作者最新文章
JavaScript怎么准确判断数据类型:typeof、instanceof与Object.prototype.toString
2026-11-05 17:09:21
JS中将数组和对象混合组装为JSON字符串
2026-11-05 16:41:42
JS运算符优先级与结合性的区别是什么?
2026-11-05 13:22:02
JS Map怎么只遍历Key或Value
2026-11-05 13:00:36
D3.js 与 ECharts 选型对比:灵活性 vs 开发效率
2026-11-05 09:45:01
