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

2022-09-27 13:22:28 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

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

代码语言:javascript复制
<script>
var jsonstr="{"id":"1","name":"jack"}";
var obj=$.parseJSON(jsonstr);
</script>

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

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

代码语言:javascript复制
<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()**函数

代码语言:javascript复制
<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 }…]”,将该字符串转换为对象数组

代码语言:javascript复制
//第一步:将 = 转换为 :,加/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(被替换的字符串,替换为字符串)

代码语言:javascript复制
var str = "Hello World"
//使用china替换字符串中的world
str = str.replace(/World/ , 'China');
//如果进行全局替换需要添加 /g , 在不添加 /g的情况下只会替换匹配到的第一个字符
str = str.replace(/World/g , 'China');

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

0 人点赞