您的位置:首页 > Web前端 > JavaScript

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

2017-09-21 12:02 344 查看

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

json (javascript对象标识)

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

JSON中两种结构:

1.数组用来表示有序结构

2.键值对用来表示对应关系

链接 : JSON官网

在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对象
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代码

详情请看:WSCschool

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

java端使用json转换一般都会引入json转换的jar

这里使用google的GSON

1.引入gson的jar 到maven中

2.使用

//将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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息