首页 > 其他分享 >jquery把json字符串转化为json对象需要注意的问题(json用单引号或双引号是不同的)

jquery把json字符串转化为json对象需要注意的问题(json用单引号或双引号是不同的)

时间:2023-10-25 13:07:27浏览次数:29  
标签:jquery name 单引号 replace var json 字符串 id

1. 将json字符串转化为json对象

方案一:jquery自带的$.parseJSON函数

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

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

 

方案二:js自带的eval函数

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);

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

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

var jsonstr1="{\"id\":1,\"name\":\"aijquery\"}";
var obj=JSON.parse(jsonstr1);
console.log(obj);
alert(obj.id);

 

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. 替换字符

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

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

 


标签:jquery,name,单引号,replace,var,json,字符串,id
From: https://blog.51cto.com/u_176133/8016365

相关文章

  • Jmeter之json提取器
    Jmeter之json提取器一、json提取器设置多个变量获取多个数据1、json的Path表达式:$.data.result[*].data.tradeTitle $表示根元素,然后一级级属性往下去找,先找到data,再往下子节点找到result,[*]表示该节点下有多个子节点。然后找到data,再找到tradeTitle2、添加:后置处理器——j......
  • C# 一个简陋轻便的Json字符串拼接类
    有的时候我们要以Json格式的形式传递参数,用模型或匿名类传给json库转的话,感觉很浪费,但是自己手动拼的话有比较麻烦,因此封装了一个拼接类,非常简陋JsonStringBuilderusingSystem;usingSystem.Text;namespaceConsoleApp{///<summary>///简单的json字符串构建......
  • list集合,dataTable 转json null转空字符串,时间格式
    usingNewtonsoft.Json;usingSystem;usingSystem.Collections.Generic;usingSystem.Data;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceUtils{publicclassNewtonsoftHelper{publicstaticstringToJson<......
  • Jquery 下拉树下面是一个使用Combotree组件的简单案例:
    1、html <!DOCTYPEhtml><html><head><title>Combotree使用案例</title><linkrel="stylesheet"type="text/css"href="https://cdn.jsdelivr.net/npm/jquery-combotree/dist/jquery.combotree.min.css"......
  • C#对没有规律的json字符串转化为对象序列化并遍历读取
    varjsonString={"BillDate":1,"TypeName":0,"StepNum":0,"CollectCode":0,"Uncollected":1,"Tax":0,"AbstractInfo":1}现在我们要对这它进行转化并遍历读取:///<summary>///把json字符串转化为对象//......
  • Jquery向json对象添加键值对,读取键值对,删除键值对
    添加键值对varlabelName={};labelName["Name"]="James"labelName["Sex"]="1"结果:labelName={"Name":"James","Sex":1};读取键值对vargetData={"Label":"Dong","Sex":&quo......
  • jquery对复杂的集合型Json数据进行筛选(象C#的find一样)
    比如如下js下的json数据:varlist=[{"ColName":"OrderDate","ColLabel":"日期","ColNewLabel":"日期","IsChecked":1,"Sort":"0"},{"ColName":"OrderCode","ColLa......
  • C#序列化和反序列化JSON的两种方法(转载)(三)
    C#有两种方式序列化和反序列化JSON字符串:第一种是System.Web.Script.Serialization下的JavaScriptSerializer,原生自带的这种方法需要与类绑定,不方便。第二种是Json.NET第三方库方法,既可以与对象绑定,也可以反序列化为更通用的JObject,方便易用,推荐。一:  JavaScript......
  • JWT Tool:针对 JSON Web Tokens 的测试工具题解JWT cracking
    什么是JWT?JWT是JSONWebToken的缩写,它是一串带有声明信息的字符串,由服务端使用加密算法对信息签名,以保证其完整性和不可伪造性。Token里可以包含所有必要的信息,这样服务端就无需保存任何关于用户或会话的信息了。JWT可用于身份认证,会话状态维持以及信息交换等任务。JWT由三部分......
  • 项目中JSON序列化循环引用的问题
    已经很多次碰到循环引用的问题了之前碰到是在Spring中初始化过程中component之间存在循环引用怎么办 这次碰到,是在JSON序列话的时候碰到了循环引用导致的问题问题原因:在结构体中,为了实现方便数据的引用,在数据结构中加入了Parent节点,由于存在child节点,在生成json对象的时候就......