JSON对象和JSON字符串间的相互转换

json对象和json字符串间的相互转换


json (javascript对象标识)


其实就是经过组合JavaScript中的数组[ ]和键值对(hash) 对象来描述数据结构 javascript

JSON中两种结构: java

1.数组用来表示有序结构
2.键值对用来表示对应关系web

连接 : JSON官网ajax


在javascript中json字符串和json对象的相互转换方法


<script> //声明一个json 对象  var class = { "students":[ {"name":"小明""id":1}, {"name":"小红""id":2} ] } //获取json对象中小明的id var id = class.students[0].id;//使用方法和对象调用方法一致 </script>

在json中如何将json对象转化为json字符串(数据传递要以字符串的形式例如ajax):json

//声明一个json对象 
    var  obj  = class ;
    //将json对象装还为字符串
    // 1中方法
    var jsonStr = JSON.stringify(obj);
    //2中方法
    var jsonStr = obj.toJSONString();

    //以上两种方法均可以将json对象转化为JSON字符串

服务端传来的json字符串如何转化为json对象:数组

//json字符串
    var str = jsonStr;//引用上面的字符串;
    var obj ;
    //1.
    obj = str.parseJSON();
    //2.
    obj = JSON.parse(str);
    //3.
    obj = eval("("+str+")");

特别注意:若是obj原本就是一个JSON对象,那么使用eval()函数转换后(哪怕是屡次转换)仍是JSON对象,可是使用parseJSON()函数处理后会有问题(抛出语法异常)。数据结构

注意:
其中eval()方法是javascript提供的方法
在使用时 必须加上”(“”)”一减小一些没必要要的错误
此方法 解释为: 执行( )中的javeScript代码
详情请看:WSCschoolmaven


java端json的使用和json对象字符串的相互转换


java端使用json转换通常都会引入json转换的jar
这里使用google的GSON
1.引入gson的jar 到maven中
2.使用svg

//将Student对象转换为json字符串 假设student中有id和name两个字段
 Student student = new Student();
 student.setId(1);
 student.setName("小明");
 GSON gson = new GSON();//建立gson对象
 //将对象转换为json字符串
 String str = gson.toJson(student);



 //如上将json字符串转换为student对象
 Student stu = gson.fromJson(str,Student.class);