json字符串转换成对象有哪几种方法_jsonstring转对象

json字符串转换成对象有哪几种方法_jsonstring转对象1.将json字符串转化为json对象a.方案一:jquery自带的$.parseJSON函数<script>varjsonstr="{\"id\":\"1\",\"name\":\"jack\"}";varobj=$.parseJSON(jsonstr);&a


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

#####1. 将json字符串转化为json对象
a. 方案一:jquery自带的**$.parseJSON**函数

<script>
var jsonstr="{\"id\":\"1\",\"name\":\"jack\"}";
var obj=$.parseJSON(jsonstr);
</script>

说明:使用该方法对json字符串的要求比较高,属性名和属性值必须使用双引号,使用单引号或者不是用引号都会出错

b. 方案二:js自带的eval函数

<script language="javascript">
var jsonstr1="{\"id\":\"1\",\"name\":\"aijquery\"}";
var jsonstr1="{'id':1,'name':'aijquery'}";
var jsonstr1="{id:1,name:'aijquery'}";
//上面这三种写法,不管是用单引号包裹,还是不包裹,都能用eval来转换为json对象
var obj=eval('('+jsonstr1+')');
alert(obj.id);
</script>

说明:首先,最外层的整体字符串还有“”,其次,在使用eval转换的时候需要添加一对()使用,最后:eval最好用来转换简单的字符串,如果含有表达式,或者对象之类的复杂json串,不建议使用eval();

c. 方案三:使用浏览器自带的**JSON.parse()**函数

<script language="javascript">
var jsonstr1="{\"id\":1,\"name\":\"aijquery\"}";
var obj=JSON.parse(jsonstr1);
console.log(obj);
alert(obj.id);
</script>

d. 方案四:使用json官方的方法:parse();使用parse()转换为json对象,使用 stingify()将对象转换为字符串;
######参考链接:jquery里把字符串转为json对象的四种方法,及每种方法的优缺点

#####2. 将属性不带有引号的字符串转换为json对象
如果存在一个字符串:G=“[{name=jack,sex=boy } , { name=julty,sex=gril }…]”,将该字符串转换为对象数组

//第一步:将 = 转换为 :,加/g的目的是为了转换整个字符串中的等号,不加/g只会转换第一个
G = G.replace(/\=/g , ":");
//第二步:去掉字符串中的所有空格
G = G.replace(/\s*/g,"");
//第三步:为属性和属性值添加引号。转换为json串
 G = G.replace(/\{/g, "{\"");
 G = G.replace(/\:/g, "\":\"");
 G = G.replace(/\,/g, "\",\"");
 G = G.replace(/\}/g, "\"}");
//第四步:去掉不合理的引号
 G = G.replace(/\}","{/g, "},{");
//第五步:将该字符串转换为json数组
var arr = $.parseJSON(G);

#####3. 替换字符
关于替换字符,最常用的为replace()函数

语法:str.replace(被替换的字符串,替换为字符串)

var str = "Hello World"
//使用china替换字符串中的world
str = str.replace(/World/ , 'China');
//如果进行全局替换需要添加 /g , 在不添加 /g的情况下只会替换匹配到的第一个字符
str = str.replace(/World/g , 'China');
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm2021永久激活码-激活码分享

    (pycharm2021永久激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~M…

    2022年3月21日
  • android studio怎么用真机调试_android studio调试

    android studio怎么用真机调试_android studio调试在使用androidstudio进行项目的调试的时候,模拟器真的有点慢,有时还很卡,大家可能还是更想使用真机进行调试,那么下面来看看androidstudio如何使用真机测试app的教程。第一大步,先对androidstudio进行设置:1、进入AndroidStudio界面,找到界面左侧工具栏的app2、鼠标点击app,在弹出的列表中选择EditConfigurations这一项3、在…

    2022年9月6日
  • jQuery官网下载步骤[通俗易懂]

    jQuery官网下载步骤[通俗易懂][转载出处](https://blog.csdn.net/u011870547/article/details/50033113)[原文作者](https://blog.csdn.net/u011870547)①.百度jQuery,进入官网②.进入官网后,点击下载③.之后进入下载页面,会看到有各种版本,解压版和未…

    2022年6月3日
  • java中的数据类型[通俗易懂]

    java中的数据类型[通俗易懂]java中的数据类型

    2022年4月25日
  • 录制gif工具_GIF录制

    录制gif工具_GIF录制LicecapforMac下载地址下载完成后打开软件,界面如下图。整个软件界面为透明层,左下角可以设置图片FPS,右下角又两个按钮,分别为录制按钮和停止按钮。鼠标移动至软件边框处可以改变软件界面大小,这个大小就是你将要录制的界面大小。点击右下角record录制按钮,选择保存位置后,开始录制。点击录制按钮后,软件透明区域中的模拟器变为了可操作区域,进行一些操作后,点击stop停止按钮。在保存位置处生成一张gif图片。注意:发现无法录屏,可以通过设置打开录屏权限…

    2022年9月13日
  • MATLAB学习笔记 plotyy双y轴

    MATLAB学习笔记 plotyy双y轴一、线型设置:t=0:0.1:8;[ax,h1,h2]=plotyy(t,sin(t),t,cos(t));% plotyy(X1,Y1,X2,Y2):以左、右不同纵轴绘制X1-Y1、X2-Y2两条曲线。set(h1,’linestyle’,’-‘,’marker’,’o’,’color’,’r’);set(h2,’linestyle’,’:’,’marker’,’x’,’color’…

    2022年6月17日

发表回复

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

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