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)
上一篇 2026年4月16日 下午3:07
下一篇 2026年4月16日 下午3:13


相关推荐

  • 细说php第四版笔记,细说PHP 学习笔记(二)

    细说php第四版笔记,细说PHP 学习笔记(二)一 课程内容 什么是 HTTP 协议 web 的工作原理 多种网站开发平台比较 LAMP 网站开发组合概述二 HTTP 协议 URL uniformResou 统一资源定位符 组成 协议 域名 主机 端口 附加信息 超文本传输协议 HTTP HyperTextTra 是互联网上应用最为广泛的一种网络协议 所有的 WWW 文件都必须遵守这个标准 设计 HTTP 最初

    2026年3月18日
    1
  • C语言指针详解(经典,非常详细)

    C语言指针详解(经典,非常详细)前言 复杂类型说明要了解指针 多多少少会出现一些比较复杂的类型 所以我先介绍一下如何完全理解一个复杂类型 要理解复杂类型其实很简单 一个类型里会出现很多运算符 他们也像普通的表达式一样 有优先级 其优先级和运算优先级一样 所以我总结了一下其原则 从变量名处起 根据运算符优先级结合 一步一步分析 下面让我们先从简单的类型开始慢慢分析吧 intp 这是一个普通的整型变量 i

    2026年3月26日
    3
  • 月之暗面发布Kimi K2模型新版,编程能力全面升级

    月之暗面发布Kimi K2模型新版,编程能力全面升级

    2026年3月12日
    3
  • c语言解析xml文档

    c语言解析xml文档DOM=DocumentObjectModel,文档对象模型,DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个HTML或XML文档的常用方法。有一点很重要,DOM的设计是以对象管理组织(OMG)的规约为基础的,因此可以用于任何编程语言。       Dom技术使得用户页面可以动态地变化,如可以动态地显示或隐藏一个元素,改变它们的属性,增

    2022年7月12日
    39
  • location.hash详解[通俗易懂]

    location.hash详解[通俗易懂]了解vue-router原理中更新URL但不重载页面原理之一location.hash1.存在形式及意义一般情况下为URL后"#"及其后面一部分组成,如http://www.test.com/#/something,其中http://www.test.com为真实的路径,而#/something则为网页中的位置,称之为锚点在访问锚点时会自动跳刀锚点所在的网页位置,通常有两种方式作为锚点&lt;…

    2022年7月13日
    19
  • mac pycharm连接mysql_pycharm连接mysql数据库连接不上

    mac pycharm连接mysql_pycharm连接mysql数据库连接不上代码其实很简单 只有一小段 是在 pycharm 上运行的 所用的 python 版本为 2 7 mysql 版本为 5 7 21 coding UTF 8 importreimpo name main 打开数据库 conn MySQLdb connect host localhost port 3306 user root pa

    2026年3月27日
    2

发表回复

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

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