字符串转Json,Json转字符串

字符串转Json,Json转字符串字符串转 Json Json 转字符串 1JSON parse 用于从一个字符串中解析出 json 对象 样例如下 单引号写在 外 每个属性 非数字 都必须双引号 否则会抛出异常 varstudent id name xxx age 18 JSON parse student id name x

字符串转Json,Json转字符串

1 JSON.parse()用于从一个字符串中解析出json对象,样例如下:

// 单引号写在{}外,每个属性(非数字)都必须双引号,否则会抛出异常
var student = ‘{“id”:””,”name”:”xxx”, “age”:18}’
JSON.parse(student)
{id: “”, name: “xxx”, age: 18}
age:18
id:””

name:”xxx”

2 JSON.parse(str)这个很少用,一般采用eval(“(“+data+”)”)代替,样例如下:
var student = ‘{“id”:””,”name”:”xxx”, “age”:18}’
eval(“(“+student+”)”)
{id: “”, name: “xxx”, age: 18}
age:18
id:””
name:”xxx”
由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行。举一个例子,例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句。所以下面两个执行结果是不同的:
eval(“{}”) // return undefined

eval(“({})”) // return {}

3 使用Function对象来完成,典型应用在JQUERY的AJAX方法下的success等对于返回数据data的解析,样例如下:
var student = ‘{“id”:””,”name”:”xxx”, “age”:18}’
data =(new Function(“”,”return “+student))();
{id: “”, name: “xxx”, age: 18}
age:18
id:””

name:”xxx”

4 JSON.stringify()用于从一个对象解析出字符串,样例如下:
var student = {id:””,name:”xxx”,age:18}
JSON.stringify(student)
“{“id”:””,”name”:”xxx”,”age”:18}”
























版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2026年3月19日 下午9:26
下一篇 2026年3月19日 下午9:26


相关推荐

  • 微型计算机原理与接口技术网课_微机原理接口技术答案

    微型计算机原理与接口技术网课_微机原理接口技术答案spContent=课程面向有志于从事计算机过程控制系统设计、或对计算机硬件结构感兴趣的学习者。总体目标是:具备输入/输出接口控制系统软硬件初步设计能力。课程以“家庭安全防盗系统”案例引导,主要介绍:计算机基础知识、微型机基本工作原理、80×86基本指令集、汇编程序设计、存储器接口设计、接口控制技术等。——课程团队课程概述在今天的信息化时代,计算机已成为了人类工作和生活中必不可少的一部分。计算机…

    2022年10月2日
    4
  • javascript 数组求和_javascript数组的定义

    javascript 数组求和_javascript数组的定义eval()函数可计算某个字符串,并执行其中的的JavaScript代码。语法eval(string)string必须是一个合法的表达式和语句,否则抛出异常示例leta=[1,2,3,4,5,6,7,8,9]console.log(eval(a.join(‘+’)))//45console.log(eval(“x=10;y=20…

    2022年10月2日
    6
  • 使用docker启动mysql8.0挂载配置文件_docker的特点

    使用docker启动mysql8.0挂载配置文件_docker的特点使用docker启动MySQL8.0因为mysql8对登录密码的加密方式做了调整,所以每次安装完mysql都要去翻翻教程,特此记录下,方便以后查看docker启动脚本#!/bin/bashdockerrm-fmysql8dockerrun–namemysql8\-eMYSQL_ROOT_PASSWORD=123456\-v/usr/local/mysql/logs:/logs\-v/usr/local/mysql/data:/var/lib/mys

    2022年10月5日
    6
  • java中输出数组的语句_java定义数组的三种类型

    java中输出数组的语句_java定义数组的三种类型2022_02_19学习输出数组元素的三种方法以及c语言和java中数组的不同点方法一:for循环输出数组元素方法二:foreach循环语句方法三:Arrays类中的toString方法c语言和java中数组的区别方法一:for循环输出数组元素publicstaticvoidmain(String[]args){int[]array={1,2,3,4,5,6,7,8,9};for(inti=0;i<ar

    2022年10月11日
    4
  • 上下文无关文法产生的语言都可以用正则文法来描述_c语言结构体默认值

    上下文无关文法产生的语言都可以用正则文法来描述_c语言结构体默认值对于文法G=(V,T,S,P),如果产生式的形式如下:A->xBA->x其中A,B属于V,x属于T*,则称为右线性文法;相似的,如果产生式的形式如下:A->BxA->x则称为左线性文法。右线性文法和左线性文法统称为正则文法。正则表达式的表达能力等价于正则文法,正则表达式的定义如下:字母表中的任意字母是正则表达式,空串和空集也是正则表达式;如果r,s…

    2025年8月5日
    5
  • Java通过JDBC连接SQLserver 2017

    Java通过JDBC连接SQLserver 2017最近老师让我们用 JDBC 使用 SQLserver 但是她给的 SQLserver 版本号太老了 而且在 win10 上会出现很多问题 所以我写下这篇文章记录一下 安装 SQLserver 我用的是 SQLserver201 企业版要收费 但是这个是免费的 在官网上可以下载 https www microsoft com zh cn sql server sql server edit

    2026年3月26日
    2

发表回复

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

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