javascript(js)实现字符串转json对象的四种方法

javascript(js)实现字符串转json对象的四种方法javascript js 实现字符串转 json 对象的四种方法

在浏览器前端实现字符串转JSON对象,有多种方法,总结如下:

1. javascript函数eval()

语法:

var obj = eval ("(" + txt + ")"); //必须把文本包围在括号中,这样才能避免语法错误

eval()定义:eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。

注意:当字符串中包含表达式时,eval() 函数也会编译并执行,转换会存在安全问题。

2. 浏览器自带对象JSON,JSON.parse()

语法:

var obj = JSON.parse(text[, reviver]) //text:必需, 一个有效的 JSON 字符串。解析前要确保你的数据是标准的 JSON 格式,否则会解析出错。 //reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。

JSON.parse()比eval()安全,而且速度更快。支持主流浏览器:Firefox 3.5,IE 8,Chrome,Opera 10,Safari 4。

注意:IE8兼容模式,IE 7,IE 6,会存在兼容性问题。

3. jQuery插件,$.parseJSON()

语法:

var obj = $.parseJSON(json) //json:String类型,传入格式有误的JSON字符串可能导致抛出异常

4. ajax请求获取json数据时,$.getJSON() 

语法:

jQuery.getJSON(url,data,success(data,status,xhr)) //url 必需。规定将请求发送的哪个 URL。 //data 可选。规定连同请求发送到服务器的数据。 //success(data,status,xhr) 可选。规定当请求成功时运行的函数。

这个时候返回的data已经是JSON对象,不需要再进行转换。

$.getJSON() 是简写的 Ajax 函数,等价于:

$.ajax({ url: url, data: data, success: callback, dataType: "json" });

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/198725.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午2:37
下一篇 2026年3月26日 下午2:37


相关推荐

  • python输出unicode编码_Python以utf8编码读取文件

    python输出unicode编码_Python以utf8编码读取文件withopen(self.path,’r’)astest:forlineintest:pass代码如上,出现错误:UnicodeDecodeError:’gbk’codeccan’tdecodebyte0x80inposition…UnicodeDecodeError:’gbk’codeccan’tdecodebyte0x80inposition9:…或者是UnicodeDecodeErr..

    2025年11月9日
    7
  • goland2021。1.1激活码【注册码】

    goland2021。1.1激活码【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    46
  • Android Activity为什么要细化出onCreate、onStart、onResume、onPause、onStop、onDesdroy这么多方法让应用去重载?

    Android Activity为什么要细化出onCreate、onStart、onResume、onPause、onStop、onDesdroy这么多方法让应用去重载?最近在研究Activity的启动流程,老罗的blog在看,也找了其它资料学习,也跟过Android4.3的源码,在跟代码的过程中,突然想到下面的这个问题:  AndroidActivity为什么要细化出onCreate、onStart、onResume、onPause、onStop、onDesdroy这么多方法让应用去重载?网上太多根据Android开发规范翻译转载的内容,都不是我想要的答案,那就自己分析下

    2022年5月5日
    40
  • 【Spring基础】JDK动态代理实现原理(jdk8)

    【Spring基础】JDK动态代理实现原理(jdk8)前言Github:https://github.com/yihonglei/thinking-in-spring一JDK动态代理在了解JDK动态代理前,有需要可以了解下代理模式。参考:https://blog.csdn.net/yhl_jxy/article/details/52679882;天天的都听到人们说JDK动态代理,听上去感觉好屌的样子,为什么要叫JDK动态代理?…

    2022年6月17日
    44
  • python之列表(list)

    python之列表(list)1、格式namelist=[]#定义一个空列表namelist2=["tom","marry","Bob"]tlist

    2022年7月3日
    29
  • 微信H5分享到朋友圈,转发朋友功能随记[通俗易懂]

    微信H5分享到朋友圈,转发朋友功能随记[通俗易懂]最近刚做了一个微信公众号H5项目,里面包含一个分享到朋友圈和分享给好友的功能。配置白名单以及公众号js安全域名这些就不赘述了,接下来简单介绍下实现这个功能的几个前端步骤因为是微信网页开发,项目里如果有用到一些分享,音频,视频的功能就必须接入它的SDK工具包,详情可以到官方文档里看一下第一步绑定域名先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。备注:登录后可在“开发者中心”查看对应的接口权限。第二步引入JS文件在需要调用JS接口的页面引入如下JS文件,(支持ht

    2022年6月1日
    58

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号