首页 > 编程 > JavaScript > 正文

JSON字符串与JSON对象的相互转换(在JavaScript和Java中)

2019-11-06 08:17:02
字体:
来源:转载
供稿:网友

一、javaScript中JSON对象与JSON字符串的相互转换

jQuery插件支持的转换方式 //将JSON字符串转换成JSON对象 $.parseJSON(jsonStr); //方式二 jQuery.parseJSON(jsonStr)

效果: 这里写图片描述

浏览器支持的转换方式((FirefoxChromeOpera,safari,ie9,ie8))JSON.stringify(jsonObj);//将JSON对象转换为JSON字符串JSON.parse(jsonStr);//将JSON字符串转换为JSON对象

效果: 这里写图片描述

Javascript支持的转换方式 /*可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号*/eval('(' + jsonStr + ')');

效果: 这里写图片描述

注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全,eval会执行json串中的表达式。

JSON官方的转换方式

http://www.json.org/提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;可以在https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js。

二、Java中JSON对象与JSON字符串的相互转换

Java对象转换为JSON对象public void PO2JSONObj(){ User user = new User("1", "yy", '1', "1111111111","a@QQ.com", "www.yy.com", 23); JSONObject object = JSONObject.fromObject(user); System.out.PRintln(object.toString());}Java数组转换为JSON数组public void POList2JSONArray(){ ArrayList<User> users = new ArrayList<User>(); User userA = new User("1", "yy", '1', "1111111111","a@qq.com", "www.yy.com", 23); User userB = new User("2", "cc", '1', "1111111111","a@qq.com", "www.yy.com", 23); users.add(userA); users.add(userB); JSONArray jArray = JSONArray.fromObject(users); System.out.print(jArray.toString());}JSON字符串转换为Java对象public void JSONStr2PO(){ String jsonStr = "{'name':'cc'}"; JSONObject jsonObj = JSONObject.fromObject(jsonStr); User user = (User)JSONObject.toBean(jsonObj,User.class); System.out.print(user);}JSON字符串转换为Java数组public void JSONStr2POList(){ String jsonStr = "[{'name':'cc'},{'name':'yy'}]"; JSONArray jsonArray = JSONArray.fromObject(jsonStr); List<User> users = (List<User>)JSONArray.toCollection(jsonArray);}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表