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

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java 字符串中的每个单词的倒序输出「建议收藏」

    java 字符串中的每个单词的倒序输出「建议收藏」 面试题之–java 字符串中的每个单词的倒序输出1、输入一句英文,将句子倒序输出,忽略最后的标点。package shenjin;import java.util.Scanner;/** * 输入一句英文,将英文句子反转 * * @author LENOVO * */public class ReverseEnglish { public static vo…

    2022年6月13日
    33
  • html5 最小化,当前界面最小化快捷键 窗口最小化和全屏化的快捷键是什么?

    html5 最小化,当前界面最小化快捷键 窗口最小化和全屏化的快捷键是什么?怎样用快捷键显示最小化的窗口在键盘上同时按下Win+D键,可以最小化所有窗口。在键盘上再次同时按下Win+D键,可以还原步骤1最小化的所有窗口。在键盘上同时按下Windows+M键,可以最小化所有窗口。在键盘上同时按下Windows+Shift+M键。电脑窗口最小化的快捷键是什么?ALT+Esc可以使当前窗口最小化。Win+D最小化所有窗口,再按一下就可以还原窗口。Windows+M最小…

    2025年8月20日
    4
  • 启动mysql的命令 linux命令,linux如何启动mysql服务 linux启动mysql服务命令是什么(图文)…

    启动mysql的命令 linux命令,linux如何启动mysql服务 linux启动mysql服务命令是什么(图文)…mysql 数据库是一种开放源代码的关系型数据库管理系统 有很多朋友都在使用 一些在 linux 系统上安装了 mysql 数据库的朋友 却不知道该如何对 mysql 数据库进行配置 那么 linux 该如何启动 mysql 服务呢 接下来小编就给大家带来 linux 启动 mysql 服务的命令教程 R1d 电脑 数码 手机应用问题解决的 IT 技术网站 seo 云狐网具体步骤如下 R1d 电脑 数码 手机应用问题解决的 IT 技术网

    2025年8月31日
    0
  • 手把手教你接入支付宝支付

    手把手教你接入支付宝支付前一久做了支付宝支付,分享一下接入的详细步骤吧,移动端和服务端demo源码已上传至GitHub,要下载的移步至文章末尾。先给出支付宝官方文档:https://docs.open.alipay.com/204/105051/适用场景在App内集成支付宝支付。APP调用支付宝提供的SDK,SDK再调用支付宝APP内的支付模块。如果用户已安装支付宝APP,商家APP会跳转到支付宝中完成支付,支付完…

    2022年5月25日
    33
  • Eclipse使用技巧–代码自动补全功能

    Eclipse使用技巧–代码自动补全功能1、在“触发代码提示”允许的范围之内,空格键和回车键就是快捷键。2、补全代码功能需设置“AutoActivationtriggersforjava”。3、“AutoActivationtriggersforjava”这个选项就是指触发代码提示的的选项,把“.”改成“.abcdefghijklmnopqrstuvwxyz(”的意思,就是指遇到26个字母和“.与(”这些符号就触发代码提示功能了。4、代码提示选项补充完整后,输入关键字即可得到提示功能,得到提示功能后,回车键与空格键就是

    2022年5月31日
    42
  • SQL Server 2019 安装教程[通俗易懂]

    SQLServer2019安装教程下载安装SQL:1、下载SQLServer2019Developer官方网址:下载地址。2、下拉选择免费版本,直接点击下载(别问,问就是家境贫寒????)。3、双击启动安装文件,示例:4、等待…5、选择基本安装类型,示例:6、选择语言:中文(简体),然后点击接受。示例:7、根据自己的需求,选择合适的安装路径,最后点击安装。示例:…

    2022年4月6日
    228

发表回复

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

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