JSON对象、JSON字符串的相互转换
JSON对象、JSON字符串的相互转换
json的格式:
第一种方式:
单一的json字符串,转换成json对象时,需要 eval('(' + json + ')');这样的格式,中间需要加括号
var json = '{ "username ": ' + "\"" + username + "\""
+ ', "性别":' + "\"" + sex + "\""
+ '}';
这里将json字符串转换成json对象有两种方法,分别是eval()和JSON.parse()(通常用eval)
1. var JSONObject = eval('(' + json + ')'); 将json字符串转换成json对象
2. var JSONObject = JSON.parse(json);
注意当用JSON.parse()时,可能会出现JSON未定义的页面js错误
解决方法:关闭浏览器兼容模式
数据访问方式:
var username = JSONObject.username ; var sex = JSONObject.sex ;
第二种:json数组
var jsonArr = ‘[{ "username ": username, "sex ": sex},{ "username ": username1, "sex ": sex1}]’;
和上面一样,将json字符串转换成json对象有两种方法,分别是eval()和JSON.parse()(通常用eval)
1. var JSONObject = eval(jsonArr); 将json字符串转换成json对象
2. var JSONObject = JSON.parse(JSON.stringify(jsonArr));
这里,将json数组转换成json对象时,parse时,必须传入的是字符串的格式,所以首先必须将数组对象解析成字符串,这里就用到了JSON.stringify(),将对象转换成字符串后,然后用JSON.parse()将json字符串转换成json对象
思路 :js数组对象-->字符串-->json对象
JSON.stringify():js数组对象转换后的字符串 "[{"\u59d3\u540d":"Alltas","\u6027\u522b":"\u7537","\u5e74\u9f84":"22"}]"
JSON.parse():将上述字符串转换成json对象
然后就可以利用json对象的属性来访问各属性的值了
属性就相当于key,值是value。Key-value键值对形式
数据访问:
var username = JSONObject[0].username ; var sex = JSONObject[0].sex ;
建议:属性用英文,尽量不要用中文。
第三种:json数组(与第二种略有区别)
var txt = '{"employees":[' +
'{"firstName":"Bill","lastName":"Gates" },' +
'{"firstName":"George","lastName":"Bush" },' +
'{"firstName":"Thomas","lastName":"Carter" }]}';
数据访问:
var obj = eval ("(" + txt + ")");
firstName = obj.employees[1].firstName
lastName = obj.employees[1].lastName
JSON对象、JSON字符串的相互转换的更多相关文章
- 第168天:json对象和字符串的相互转换
json对象和字符串的相互转换 1.json对象和字符串的转换 在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和pa ...
- json对象与字符串的相互转换,数组和字符串的转换
1.json对象转换为字符串 JSON.stringify(value [, replacer] [, space]) var student = new Object(); student.id ...
- json对象和字符串的相互转换
JSON.stringify(obj) 将JSON对象转为字符串. JSON.parse(string) 将字符串转为JSON对象格式. 后台给你数据的时候,有时候会给你字符串 ...
- JSON对象与字符串之间的相互转换
<html> <head> <meta name="viewport" content="width=device-width" ...
- Json数组操作小记 及 JSON对象和字符串之间的相互转换
[{"productid":"1","sortindex":"2"},{"productid":&q ...
- JSON对象与字符串之间的相互转换 - CSDN博客
原文:JSON对象与字符串之间的相互转换 - CSDN博客 <html> <head> <meta name="viewport" content=& ...
- js或者jq的string类型或者number类型的相互转换及json对象与字符串的转换
1.将值乘以1,将string类型转为number类型 //算合计价值function summoney(money) { var zijin = $("#main_xm_dam09&quo ...
- js中的json对象和字符串之间的转化
字符串转对象(strJSON代表json字符串) var obj = eval(strJSON); var obj = strJSON.parseJSON(); var obj = JSO ...
- json对象转字符串与json字符串转对象
1.概述: 我们在编程时进场会遇到json对象转字符串,或者字符串转对象的情况. 2.解决办法: json.parse()方法是将json字符串转成json对象. json.stringfy()方法是 ...
- js字符串转json格式与json对象转字符串
json字符串----->json对象json对象------>json字符串 使用JSON.parse()函数 this.dataList = JSON.parse(dataList); ...
随机推荐
- 【mac版】前端开发工具整理
整理了一些日常工作中涉及到的工具,下载链接:https://pan.baidu.com/s/1kUD60a7#list/path=%2F 编辑器 Webstorm 软件下载及常用操作 webstorm ...
- 问题 : lang.NoClassDefFoundError: org/springframework/core/annotation/AnnotatedElementUtils,的解决方法
今天在做junit 测试的时候 出现了一个问题,花了一段时间 才解决. java.lang.NoClassDefFoundError: org/springframework/core/annota ...
- 【webpack】-- 模块热替换
全称是Hot Module ReplaceMent(HMR),理解成热模块替换或者模块热替换都可以吧,和.net中的热插拔一个意思,就是在运行中对程序的模块进行更新.这个功能主要是用于开发过程中,对生 ...
- Maven转换成Eclipse项目后的依赖库更新问题
使用Eclipse的Maven插件创建项目 如果你的Eclipse安装了Maven插件,创建Maven项目相当方便,创建后的项目如: 优势:项目引用的类库名称是"Maven Dependen ...
- KoaHub.JS基于Node.js开发的处理和显示日期代码
moment Parse, validate, manipulate, and display dates A lightweight JavaScript date library for ...
- 3732: Network
3732: Network Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 395 Solved: 179[Submit][Status] Descr ...
- ajax(省,市,县)三级联动
下面我们用Jquery,ajax,做一个省,市,县的三级联动: 下面是我做三级联动下拉的步骤以及逻辑 第一步:先做一个省市区表格 第二步:建个PHP页面显示用我是在<body>里放< ...
- 一段从TXT导入excel的py脚本
#创建文件file = Workbook(encoding='utf-8')#创建sleettableTotalTime = file.add_sheet('TotalTime')#每列给出名称tab ...
- Python--定时给Ta讲笑话
受到这篇文章的启发http://python.jobbole.com/84796/,我也动手写了个程序玩一玩. 接口请求说明: 接口请求地址http://api.1-blog.com/biz/bizs ...
- 【Android】TextView文字长度测量和各种Paddding解析
老规矩,先上张图 o,这篇好像是分析篇,没有效果图.不管了,位置占着,老规矩不能坏,下面开始正文. *** 这篇博客会讲得比较杂: TextView里各部分的大小该怎么测量? 如何计算每行文字的长度? ...