依赖

<!-- fastjson -->
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.75</version>
</dependency>
  • JSON对象 是直接可以使用JQuery操作的格式
  • JSON字符串 仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用
  • JSON数组 元素是json对象的数组,就是json数组
  • JSON对象转实体类,对象key和实体类属性值对应

JSON对象

var str2 = { "name": "deluyi", "sex": "man" };JSONObject object = new JSONObject();
object.put("ServerInfo.DeviceServiceUrl","http://192.168.2.9:8080/HearBeat");
object.put("DeviceInfo.DNS","202.106.0.20");
baseRequestInfo.setBizContent(JSON.toJSONString(object));

JSON字符串(注意大括号外的引号)

var str1 = '{ "name": "deyuyi", "sex": "man" }';

JSON数组

packJson = [{"name":"zhang", "password":"123"},{"name":"li", "password":"456"}];//遍历json数字
for(var i = 0; i < packJson.length; i++){ alert(packJson[i].name + " " + packJson[i].password);
}JSONArray array = new JSONArray();
array.add("DeviceInfo.SoftwareVersion");baseRequestInfo.setBizContent(JSON.toJSONString(array));

只有数组或者json数组才可以使用length方法。json对象使用length方法无效。
如果json对象的子元素是数组或者json数组,也可以使用length方法。可以用于遍历数据。

JSON转实体类

JSONObject.parseObject(jsonString, BaseResponseInfo.class);

实体类转JSON字符串

String message = JSON.toJSONString(baseRequestInfo);

json字符串和json对象的转换

json字符串转json对象,调用JSON.parse()方法

var b='{"name":"2323","sex":"afasdf","age":"6262"}' //json字符串var bToObject=JSON.parse(b); //使用parse方法console.log(bToObject.name);//2323

json对象转为json字符串,调用JSON.stringify()

var a={"name":"tom","sex":"男","age":"24"}//json对象var aToString=JSON.stringify(a); //转换方法JSON.stringify()console.log(aToString);//{"name":"tom","sex":"男","age":"24"}

1、String转JSONObject

前言:String 是JSONObject格式的字符串

eg:

JSONObject jSONObject = JSONObject.parseObject(String);

2、String转JSONArray

前言:String 是JSONArray格式的字符串

eg:

JSONArray jsonArray= JSONArray.parseArray(String);

3、JSONObject中的数组提取为JSONArray

eg:

{"AreaName": "北京","CityId": 110100,"NoMarket": false,"OldCityId": 646,"Pinyin": "beijing","ProvinceId": 110000,"Result": [{"ItemName": "优惠","ItemUrl": "/list/a646c12-1.html","Title": "Stelvio 钜惠23.4万起","Url": "//www.autohome.com.cn/market/201904/100223763.html"},{"ItemName": "优惠","ItemUrl": "/list/a646c12-1.html","Title": "马驹桥林肯中心年中大促","Url": "//www.autohome.com.cn/market/201906/100230932.html"},{"ItemName": "优惠","ItemUrl": "/list/a646c12-1.html","Title": "星越平价销售13.58万元起","Url": "//www.autohome.com.cn/dealer/201906/367011492.html"},{"ItemName": "优惠","ItemUrl": "/list/a646c12-1.html","Title": "哈弗F5限时优惠8000元","Url": "//www.autohome.com.cn/dealer/201906/366897778.html"},{"ItemName": "优惠","ItemUrl": "/list/a646c12-1.html","Title": "购元新能源价格暂无优惠","Url": "//www.autohome.com.cn/dealer/201906/366897034.html"},{"ItemName": "优惠","ItemUrl": "/list/a646c12-1.html","Title": "瑞虎3xe冰点价促销中!","Url": "//www.autohome.com.cn/dealer/201906/366889724.html"},{"ItemName": "优惠","ItemUrl": "/list/a646c12-1.html","Title": "购奔奔EV现钜惠5.1万元","Url": "//www.autohome.com.cn/dealer/201906/366843204.html"},{"ItemName": "优惠","ItemUrl": "/list/a646c12-1.html","Title": "购宝马7系价格暂无优惠","Url": "//www.autohome.com.cn/dealer/201906/366588080.html"},{"ItemName": "预定","ItemUrl": "/list/a646c14-1.html","Title": "途观L价格直降7.6万元","Url": "//www.autohome.com.cn/dealer/201906/366568937.html"},{"ItemName": "预定","ItemUrl": "/list/a646c14-1.html","Title": "购凯迪拉克XTS降8万","Url": "//www.autohome.com.cn/dealer/201906/366500646.html"},{"ItemName": "预定","ItemUrl": "/list/a646c14-1.html","Title": "汉兰达可试驾购车无优惠","Url": "//www.autohome.com.cn/dealer/201906/366384207.html"},{"ItemName": "预定","ItemUrl": "/list/a646c14-1.html","Title": "宝马M4价格稳定无优惠","Url": "//www.autohome.com.cn/dealer/201906/366156789.html"},{"ItemName": "预定","ItemUrl": "/list/a646c14-1.html","Title": "奥迪A8促销直降26.33万元","Url": "//www.autohome.com.cn/dealer/201906/366925378.html"},{"ItemName": "预定","ItemUrl": "/list/a646c14-1.html","Title": "英菲尼迪Q50L可降6.3万","Url": "//www.autohome.com.cn/dealer/201906/366863516.html"},{"ItemName": "预定","ItemUrl": "/list/a646c14-1.html","Title": "帝豪新能源价格降8.25万","Url": "//www.autohome.com.cn/dealer/201906/366877669.html"},{"ItemName": "预定","ItemUrl": "/list/a646c14-1.html","Title": "撼路者在售现钜惠5万","Url": "//www.autohome.com.cn/dealer/201906/366912121.html"}]
}

提取Result对应的数组

JSONArray jsonArray= jsonObject.getJSONArray("Result");

4、JSONArray提取为JSONObject

eg:

JSONObject jsonObject = jsonArray.getJSONObject(0);

5、JSONObject获取value

1、object.getString("key")2、object.get("key")

6、获取JSONObject的ket value

        JSONArray dateArr = new JSONArray();Set<String> key = dateArr .keySet();for (String keyObj:key) {JSONArray hisData = history.getJSONArray(keyObj);           }

7、遍历JSONArray

第一种for循环
   JSONArray seriesArr = new JSONArray();for(int i=0;i<seriesArr .size();i++){JSONObject object = eggsArr.getJSONObject(i);}
第二种for增强
         JSONArray pzListArr = new JSONArray();for (Object obj:pzListArr) {JSONObject dataObj = JSONObject.parseObject(obj.toString());}    

8、Map转为JSON格式的字符串

Map<String, Object> paraMap = new HashMap<String, Object>();JSONObject.toJSONString(paraMap)

自动过滤参数为null的数值

结果:

8、javaBean转为JSONObject

JSONObject.parseObject(JSONObject.toJSON(javaBean对象).toString());

9、List<实体类>转String

import com.alibaba.fastjson.JSONObject;
List<实体类> value1 = 。。。。。。
JSONObject.toJSONString(value1 )10、JSONArray转List<实体类>

看你开心用哪个,object和array的区别没有细究

10、JSONArray转List<实体类>

import com.alibaba.fastjson.JSONArray;
JSONArray objects = JSONArray.parseArray(categoryConstantInfoFromRedis);
List<实体类> categoryConstantInfos = objects.toJavaList(实体类名.class);
众里寻他千百度!!!toJavaList

找不到方法的时候,去看看JSONArray,JSONObject的源码,很多都有封装好的,你不会失望的

JSON字符串,JSON对象,JSON数组,实体类转换相关推荐

  1. json字符串转对象(json字符串转对象的方法)

    js中如何将一字符串表示的日期转换为Date对象? var a = "2006/12/1" d = new Date(a) <br/>写个json对象demo瞧一瞧,j ...

  2. oracle json字符串转数组,json字符串转化成json对象(原生方法)

    json字符串.json对象.数组 三者之间的转换 //json字符串.json对象.数组 三者之间的转换 let jsonStr = '[{"id":"01" ...

  3. 字符串、对象、数组操作方法、json方法

    1.字符串操作方法 1.charAt  *     作用 *          通过索引找字符 *     语法 *         字符串.charAt(index) *     参数 *      ...

  4. json字符串、json对象、数组之间的转换

    记录一下 json字符串转化成json对象 // jquery的方法 var jsonObj = $.parseJSON(jsonStr) //js 的方法 var jsonObj = JSON.pa ...

  5. java js对象转字符串数组_js 转json格式的字符串为对象或数组(前后台)的方法

    一.前台 // 转换成对象 var myObject = JSON.parse(_data); alert("对象:"+myObject.msg); // 转换成数组 var my ...

  6. java中将json字符串_Java中JSON字符串与java对象的互换实例详解

    在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...

  7. json字符串与对象互相转换

    阿里巴巴fastJson Fastjson是一个Java语言编写的JSON处理器. 1.遵循http://json.org标准,为其官方网站收录的参考实现之一. 2.功能qiang打,支持JDK的各种 ...

  8. 开发:随笔记录之 Json字符串和对象的相互转换

    引入的包 :json-lib-2.1.jar import net.sf.json.JSONArray; import net.sf.json.JSONObject; //随意创建一个实体 RuleD ...

  9. c#谷歌 json转对象_利用Google Gson实现JSON字符串和对象之间相互转换

    最近一个项目需要用到JSON,需要在JSON字符串和对象之间相互转换,在网上找了些资料,发现google的Gson还是比较不错的. 废话不说,下面是简单的例子: 先上源码:下载(包含jar包) Per ...

  10. Json字符串转对象和转List集合操作(json-lib版本)

    Json字符串转对象和转List集合操作(json-lib版本) Json是当前开发用得最多基于JavaScript语言的轻量级的数据交换格式,总结一下常用转换格式的方法,以便日后使用方便 以下为 j ...

最新文章

  1. kmeans及模型评估指标_模型评估常用指标
  2. jquery监听pda 按键_nui监听安卓PDA扫描事件
  3. java 异常_Java学习——异常与异常处理
  4. 百炼OJ:2750:鸡兔同笼
  5. boost::is_sorted相关的测试程序
  6. Android 一s个相对完整的自动升级功能实现代码
  7. leetcode-回文链表
  8. Jmeter_http request的简单设置和应用
  9. Android Studio 使用教程(4)---gradle项目构建
  10. java最基础的小总结
  11. sql while循环_SQL WHILE循环的简单示例
  12. ]MySQL操作命令语句实例
  13. goland编写go语言导入自定义包出现: package xxx is not in GOROOT (/xxx/xxx) 的解决方案
  14. 使用ecstore-sdk开发包制作易开店和启明星模板
  15. 如何让bootbox弹框垂直居中
  16. springcloud搭建实战<十一>【config配置中心】
  17. 我的第一个JS组件-跨浏览器JS调试工具
  18. 计算机应用专业顶岗实习计划,计算机学生顶岗实习计划(网络版)
  19. 街道大动土,断网一周,学习计划照旧
  20. SVG滤镜对图片调色

热门文章

  1. 万能打印之Delphi 2010实现(序言)
  2. java环境配置 jcreator
  3. MAC刻录iso到USB、U盘
  4. 定时自动关机计划命令
  5. 【零基础 快速学Java】韩顺平 笔记整理(到p170 跑路了)
  6. WebView交互架构项目实战(三)(1),老罗android开发视频教程
  7. 简单的P2P电影下载加速,(类似迅雷下载电影P2P加速)
  8. ssm共享图书管理系统毕业设计-附源码151121
  9. ios 身份证照片识别信息
  10. java影院座位订票代码_基于jsp的影院订票-JavaEE实现影院订票 - java项目源码