json对象与json字符串的区别
最近糟了这个坑,同一个方法,android和ios返回的数据不一样,一个是json字符串,另一个是json对象(至于为什么后台返回的是json对象,还没找到原因,但是我看到的后台的代码是有在返回之前给我转成字符串过来的),而我把返回的结果直接拿来用JSON.parse()转成json对象,导致android正常,在ios上面报错。
等一下,有点懵,所以整理了一下资料,当作笔记。
问题一:什么是"JSON字符串",什么是"JSON对象",两者的区别?【借鉴的别人的定义】
1.JSON对象是直接可以使用JQuery操作的格式,如C#中可以用对象(类名)点出属性(方法)一样;
2.JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用,除非你只想alert()他;
// json对象
var str1 = {"name": "jessie", "sex": "female"}; // json字符串
var str2 = '{"name": "jessie", "sex": "female"}';
问题二: 将"JSON字符串"转化为"JSON对象"的方法?
1.使用$.parseJSON(str) 依赖jquery
var test1 = '{"name": "jessie"}';
var obj1 = jQuery.parseJSON(test1);
console.log(obj1.name); // jessie
ps:此种方式仅支持标准格式:var str='{ "name": "jessie" }';
2.JSON.parse(str)
var test2 = '{"name": "jessie", "sex": "female"}';
var obj2 = JSON.parse(test2);
console.log(obj2.name); // jessie
ps:此种方式仅支持标准格式:var str='{ "name": "jessie" }';
3.使用eval('('+str+')');
var test3_1 = '{"name": "jessie"}';
var test3_2 = "{'name': 'jessie'}";
var test3_3 = "{name: 'jessie'}";
var obj3_1 = eval('('+test3_1+')');
var obj3_2 = eval('('+test3_2+')');
var obj3_3 = eval('('+test3_3+')');
console.log(obj3_1.name);
console.log(obj3_2.name);
console.log(obj3_3.name);
//console.log(JSON.parse(test3_3).name); // 报错: Uncaught SyntaxError: Unexpected token n in JSON at position 1
Eval方式可以转换以下标准和非标准格式字符串:
var test3_1 = '{"name": "jessie"}';
var test3_2 = "{'name': 'jessie'}";
var test3_3 = "{name: 'jessie'}";
问题三:将"JSON对象"转化为"JSON字符串"的方法?
// 使用全局方法JSON.stringify()
var object1 = {"name": "jessie"};
console.log(JSON.stringify(object1));
json对象与json字符串的区别的更多相关文章
- JavaScript对象、JSON对象、JSON字符串的区别
一.首先看下什么是JSON JSON:JavaScript Object Natation,JavaScript对象的表现形式,已经发展成一种轻量级的数据交换格式. JavaScript对象的表现形式 ...
- 【前端_js】Json对象和Json字符串的区别
转载1: Json对象和Json字符串的区别 转载2: JSON字符串与JSON对象的区别
- json对象和json字符串有啥区别啊
json对象可以通过javascript存取属性!json对象装成json字符串经常用于前后台传输数据! 如果你在前台使用,那么Json对象可以通过xx.name来调用,如果是字符串,那么就是字符串了 ...
- Json对象,Json数组,Json字符串的区别
Json对象: var str = {"姓名":"张三","性别":"男","年龄":"2 ...
- JSON对象、JSON字符串的相互转换
JSON对象.JSON字符串的相互转换 json的格式: 第一种方式: 单一的json字符串,转换成json对象时,需要 eval('(' + json + ')');这样的格式,中间需要加括号 va ...
- 大话Json对象和Json字符串
一.Json对象和Json字符串的区别 (1)Json对象:可以通过javascript存取属性. 先介绍一下json对象,首先说到对象的概念,对象的属性是可以用:对象.属性进行调用的.例如: var ...
- JSON:JSON对象和JSON数组混排的复杂字符串
在java中的一个好用的JSON工具包:net.sf.json.JSONObject 和 net.sf.json.JSONArray 一 解析JSON对象和JSON数组类型混排的复杂字符串 举个例子: ...
- jQuery中json对象与json字符串互换
json字符串转json对象:jQuery.parseJSON(jsonStr); json对象转json字符串:JSON.stringify(jsonObj); 根据“|”把字符串变成数组.spli ...
- JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString
JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString 如下示例: 直接写的a1就是一个Json对象,a2 就是一个Json对象字符串; 通 ...
- 前端页面使用 Json对象与Json字符串之间的互相转换
前言 在前端页面很多时候都会用到Json这种格式的数据,最近没有前端,后端的我也要什么都要搞,对于Json对象与Json字符串之间的转换终于摸清楚了几种方式,归纳如下! 一:Json对象转换为json ...
随机推荐
- java.lang.IllegalStateException: ApplicationEventMulticaster not initialized
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...
- c++ switch语句
一.认识switch格式 switch(表达式) { case 常量表达式: 语句1; break; case 常量表达式: 语句2; break; case 常量表达式: 语句3; break; . ...
- matplotlib绑定到PyQt5(无菜单)
很简单的实现matplotlib绑定到PyQt5 [知识点] import matplotlib matplotlib.use("Qt5Agg") from matplotlib. ...
- 12-[CSS]-margin塌陷,margin 0 auto,善用父级的padding
1.margin塌陷 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- 3 huigu
w +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 组件复用 --------------- ...
- Eclipse实用插件
Eclipse实用插件 安装:Help - Eclipse Marketplace 查看图片:QuickImage 主题:Darkest Dark 代码风格:https://blog.csdn.net ...
- 零基础学Python之结构化数据(附详细的代码解释和执行结果截图)
3结构化数据 字典(查找表).集合.元组.列表 3.1字典 是有两列任意多行的表,第一列存储一个键,第二列存储一个值. 它存储键/值对,每个唯一的键有一个唯一与之关联的值.(类似于映射.表) 它不会维 ...
- 2.2 Oracle之DML的SQL语句之多表查询以及组函数
一.SQL的多表查询: 1.左连接和右连接(不重要一方加(+)) SELECT e.empno,e.ename,d.deptno,d.dname,d.loc FROM emp e,dept d WHE ...
- WEB渗透测试基础工具
代理查询网站:hidemyass(隐藏我的屁股) HTTrack:HTTrack是一个免费和易用的离线浏览工具(浏览器),它可以允许你下载整个WWW网站至本地目录,并且通过遍历网站目录获取HTML,图 ...
- zookeeper简易配置及hadoop高可用安装
zookeeper介绍 是一个分布式服务的协调服务,集群半数以上可用(一般配置为奇数台), 快速选举机制:当集群中leader挂掉,所有小弟会投票选举出新的leader. ...