Json对象和字符串互相转换

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.

一、JSON字符串转换为JSON对象: eval() 和 JSON.parse

字符串:   var data = '{ "name": "1", "sex": "2" };
              var obj = eval("("+data+")"); or
              var obj = JSON.parse(data);

然后,就可以这样读取:   alert(obj.name + obj.sex);

提示:为什么要 eval这里要添加 ("("+data+")");呢

  原因在于:eval本身的问题。 由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。 

  加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行。举一个例子,例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句

二、JSON对象转换为JSON字符串 :  obj.toJSONString()或者全局方法JSON.stringify(obj)   (obj代表json对象)

 eg-json对象:      var obj = { "name": "dran", "sex": "man" };

  var jstring = JSON.stringify(obj) ;// 建议用这个

  var jstring = obj.toJSONString();  //toJSONString()不是js原生的方法,需要引入相应的库或自己定义后才能用   (不习惯用)

  alert(jstring);   

三、JSON 数据使用方法:

 1、 json对象:

     var jsonObj= {"name":" 张三",  "sex":"男",  "age":21, };

     使用:  jsonObj.name= "张三"

              jsonObj.age= "26"


 2、json数组:   []下标 从  0 开始

      var jsonArr =[{"name":"1","sex":"man","like":["1","2","3"]},
                            {"name":"2","sex":"man"},

                            {"name":"3","sex":"man"}, ]

      使用: jsonArr[0].sex="man"
                 jsonArr[1].name="2"

非空约束(Not Null),简称NN
唯一性约束(Unique),简称UK
主键约束(Primary Key),简称PK
外键约束(Foreign Key),简称FK
检查约束(Check),简称CK
http://blog.csdn.net/luoweifu/article/details/46613015
https://www.cnblogs.com/luotaoyeah/p/3854190.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值