json字符串与json对象、json序列化与反序列化
来源:互联网 发布:led屏幕软件下载 编辑:程序博客网 时间:2024/06/05 15:45
json对象
var person={"name":"tom","sex":"男","age":"24"}//json对象 console.log(person.name);//在控制台输出tom alert(typeof(person));//object
以上就是json对象。是一个用perosn.name这种方式进行属性的调用。第三行代码就是看person的类型,为object类型。
JavaScript中的字符串是单引号或者双引号引起来的。将json对象用引号引起来即可成为json字符串。
var b='{"name":"2323","sex":"afasdf","age":"6262"}';//json字符串 console.log(b);//{"name":"2323","sex":"afasdf","age":"6262"} alert(typeof(b));//string
以上就是b就是一个字符串,也是一个json字符串,之所以叫json字符串,因为字符串的格式符合json的格式,所以叫做json字符串,第三行代码也匹配其中的类型为string。
json字符串和json对象的转换
json字符串转json对象:
JSON.parse(string); js 方法
或者angular.fromJson(string)
或者 eval(“(” + jsonStr + “)” 方法
json对象转为json字符串:
JSON.stringify(object) js方法
或者angular.toJson(object)
Javascript支持的转换方式:
eval(‘(’ + jsonstr + ‘)’); //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号
注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。
示例:
/* =======字符串和对象的转化========*/ //字符串-->对象:JSON.parse(string); js 方法或者angular.fromJson(string)或者eval方法 var jsonStr = '{"name":"李四"}'; console.log(typeof(jsonStr));//string console.log("JSON.parse==" + JSON.parse(jsonStr).name); //[object Object],对象的属性,李四 console.log("angular.fromJson==" + angular.fromJson(jsonStr).name); //[object Object],对象的属性,李四 console.log("eval===" + eval("(" + jsonStr + ")").name); //[object Object],对象的属性,李四 console.log(typeof(angular.fromJson(jsonStr)));//object // 对象-->字符串:JSON.stringify(object) js方法或者angular.toJson(object) var obj8 = {"name": '李四'}; console.log(typeof(obj8));//object console.log("JSON.stringify==" + JSON.stringify(obj8)); //{"name":"lisi"} console.log("angular.toJson==" + angular.toJson(obj8)); //{"name":"lisi"} console.log(typeof(angular.toJson(obj8)));//string
参考:
Json对象和Json字符串的区别
Json对象与Json字符串互转(4种转换方式)
json:
JavaScript Object Notation(JavaScript 对象表示法),说白了Json就是一种字符串,一种带有格式的字符串,一种可读性很强,操作方便的字符串。因为Json字符串存储信息的方式和hashtable,Dictionary一样都是键值对的形式。
Json的结构很简单,也很复杂。简单是因为Json的结构只有两种:对象和数组。
对象和数组大家都很熟悉,在JS中对象的表示为“{}”括起来的内容,数据结构为 {key:value,key:value,…}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 “对象.key” 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。
数组:数组在js中是中括号“[]”括起来的内容,数据结构为 [” 数值1”,”数值2”,”数值3”,…],取值方式和其他语言中一样,使用索引获取,字段值的类型和上面对象的属性值一样,可以是 数字、字符串、数组、对象几种。
JSON对象与JS对象字面量相比,有三点不同:
1、没有声明变量
2、没有末尾的分号
3、对象的属性(键)必须加双引号
数组类似。
js中:
var trav = { destination: "China", number: 5};
json:
{ "destination": "China", "number": 5}
Json的序列化和反序列化
这里的序列化主要就是为了传输方便,将要传输的对象序列化为二进制的数据流,效率极高,接收时通过反序列化转化成对象,从而达到一个传输的效果。简单点来说,序列化就是将对象转换成Json格式的字符串,反序列化就是逆过程,将Json串转换成对象。
参考:
Json和其序列化和反序列化
JSON的自定义序列化和解析
- json字符串与json对象、json序列化与反序列化
- C# JSON字符串序列化与反序列化
- C# JSON字符串序列化与反序列化
- C# JSON字符串序列化与反序列化
- C# JSON字符串序列化与反序列化
- C# JSON字符串序列化与反序列化
- [参考]C# JSON字符串序列化与反序列化
- Json序列化 与反序列化
- JSON序列化与反序列化
- JSON序列化与反序列化
- Json序列化与反序列化
- Json序列化与反序列化
- JSON序列化与反序列化
- JSON序列化与反序列化
- JSON序列化与反序列化
- JSON序列化 与反序列化
- JSON序列化与反序列化
- JSON序列化与反序列化
- Java代理模式
- 2.重回编码
- sql server misc
- JDK里的设计模式
- IIS misc
- json字符串与json对象、json序列化与反序列化
- EffectiveJava第43条
- java再复习——Collection体系
- 解析XML获取节点内容
- ASP.NET MVC一次删除多笔记录 V2.0
- minimalmodbus 安裝
- canvas基础学习
- POJ 1692 Crossed Matchings
- Kafka实战-实时日志统计流程