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 ...
随机推荐
- Ruby 装pg的坑
sudo apt-get install libpq-devsudo gem install pg -v '0.21.0'
- 15-[mysql内置功能]--函数,流程控制 (未完成)
1.MySQL中提供了许多内置函数 一.数学函数 ROUND(x,y) 返回参数x的四舍五入的有y位小数的值 RAND() 返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器 ...
- bzoj 4689: Find the Outlier
数据不大,枚举哪个式子错了,对剩下的d+2个式子随意选d+1个高斯消元,然后代入剩下的式子检查是否正确,正确就是那一个式子错了 #include<bits/stdc++.h> #defin ...
- 【Java多线程】Executor框架的详解
在Java中,使用线程来异步执行任务.Java线程的创建与销毁需要一定的开销,如果我们为每一个任务创建一个新线程来执行,这些线程的创建与销毁将消耗大量的计算资源.同时,为每一个任务创建一个新线程来执行 ...
- CSS快速入门-盒子模型
一.CSS盒子模型概述 css盒子模型 又称框模型 (Box Model) ,包含了元素内容(content).内边距(padding).边框(border).外边距(margin)几个要素. con ...
- 推荐11个实用Python库
1.delorea 非常酷的日期/时间库 from delorean import Delorean EST = "US/Eastern"d = Delorean(timezone ...
- html5 初试 indexedDB
indexedDB是存储大量结构化数据的API,demo中用到的是异步API,麻烦的就是所有对indexedDB的操作都会发生一个异步的‘请求’,只要熟悉了API操作起来也很简单. http://ww ...
- 微信小程序日记(一)
一.基础知识(目录与配置) (1)标签 小程序的view相当于HTML的div标签一样,作占位 (2)每一个页面都需要在app.json里面注册,例如: { { "pages": ...
- python属性访问
1.python属性访问魔法方法: >>> class C: def __getattribute__(self,name): print("getattribute&qu ...
- 如何把word ppt 思维导图这类文件转化为高清晰度的图片(要干货只看粗体黑字)
我使用思维导图做学习笔记,最终绘制了一张比较满意的思维导图,想要分享出去,但由于现在思维导图软件众多,成品文件格式差别蛮大,不利于传播和打开,所以需要转化为普通图片,但笔者使用的导图软件导出转化成的图 ...