• 技术文章 >web前端 >js教程

    javascript json字符串如何转换成对象

    醉折花枝作酒筹醉折花枝作酒筹2021-04-08 18:26:42原创163

    转换方法:1、使用“JSON.parse()”方法,语法“JSON.parse(有效JSON字符串)”;2、使用“JSON.stringify()”方法,语法“JSON.stringify(有效JSON字符串)”。

    本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

    在实际项目中,经常遇到字符格式的问题,记下来以便日后方便查看。用到两个函数:JSON.stringify()JSON.parse()

    使用ajax向后台请求数据,后台给前端返回数据,明明后端脚本写的是json函数处理后的json格式,但是前端接收数据时,却时而是object,时而是字符串,令人百思不得其解。具体原因我还不是很清楚。

    在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象。所以,JSON对象和JSON字符串之间的相互转换是关键。

    例如:

    JSON字符串:

    var str1 = '{ "name": "cxh", "sex": "man" }';

    JSON对象:

    var str2 = { "name": "cxh", "sex": "man" };

    一、JSON字符串转换为JSON对象

    要使用上面的str1,必须使用下面的方法先转化为JSON对象:

    //由JSON字符串转换为JSON对象

    var obj = eval('(' + str + ')');

    或者

    var obj = str.parseJSON(); //由JSON字符串转换为JSON对象

    或者

    var obj = JSON.parse(str); //由JSON字符串转换为JSON对象

    然后,就可以这样读取:

    Alert(obj.name);
    Alert(obj.sex);

    特别注意:如果obj本来就是一个JSON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使用parseJSON()函数处理后会有问题(抛出语法异常)。

    二、可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串。

    例如:

    var last=obj.toJSONString(); //将JSON对象转化为JSON字符

    或者

    var last=JSON.stringify(obj); //将JSON对象转化为JSON字符
    alert(last);

    注意:

    上面的几个方法中,除了eval()函数是js自带的之外,其他的几个方法都来自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个方法都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,则说明您的json包版本太低。

    【推荐学习:javascript视频教程

    以上就是javascript json字符串如何转换成对象的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:javascript json
    上一篇:JavaScript如何删除array数组元素 下一篇:javascript继承方法有哪些
    第15期线上培训班

    相关文章推荐

    • Javascript中如何对DOM元素的添加• javascript数组有哪些方法• ajax和JavaScript之间有什么区别• javascript日期格式如何转换成年月日• 如何利用Javascript在标签内外插入标签元素

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网