String pic = "[{\"picServiceUrl\": \"0f4bb44afb2e48d48b786d3bbdeec283/20180408/695329\",\"mainPage\": \"1\",\"name\":null},{\"picServiceUrl\": \"d0a7a8c24c0e463eb9ece1a7076af0e1/20180516/243598\",\"mainPage\": \"0\"}]";

String 可以转化成一个 JSONArray 的数组:

JSONArray array = JSONArray.fromObject(pic);

array 是:

[{"picServiceUrl":"0f4bb44afb2e48d48b786d3bbdeec283/20180408/695329","mainPage":"1","name":null},{"picServiceUrl":"d0a7a8c24c0e463eb9ece1a7076af0e1/20180516/243598","mainPage":"0"}]

array.get(0).getClass().getName() 的类型是 net.sf.json.JSONObject

取出 array 数组中的元素,可以转化成 JSONObject :

JSONObject json = (JSONObject) array.get(0);

json 的值是 : {"picServiceUrl":"0f4bb44afb2e48d48b786d3bbdeec283/20180408/695329","mainPage":"1","name":null}

accumulate 方法 可以给 JSONObject 增加一个key,value 。如果之前对象存在该 key, 则会 把现在的 value 和 之前的 value 组成一个数组,当作该key 的value 值。

json.accumulate("name", 11);

json 的值是: {"picServiceUrl":"0f4bb44afb2e48d48b786d3bbdeec283/20180408/695329","mainPage":"1","name":[null,11]}

put 和 element 方法也会给  JSONObject 增加一个key,value 。但是 如果之前对象存在该 key,则会把 之前的value 改成新的 value:

json.put("name", "zhangsan");

json 的值是:{"picServiceUrl":"0f4bb44afb2e48d48b786d3bbdeec283/20180408/695329","mainPage":"1","name":"zhangsan"}

获取key的value值:

System.out.println(json.get("picServiceUrl")); 输出:0f4bb44afb2e48d48b786d3bbdeec283/20180408/695329

把 String转化成 JSONArray  对象后,也可以把数组中的元素转化成  Map<String, Object> 对象:

String pic = "[{\"picServiceUrl\": \"0f4bb44afb2e48d48b786d3bbdeec283/20180408/695329\",\"mainPage\": \"1\",\"name\":null},{\"picServiceUrl\": \"d0a7a8c24c0e463eb9ece1a7076af0e1/20180516/243598\",\"mainPage\": \"0\"}]";
JSONArray array = JSONArray.fromObject(pic);

Map<String, Object> object = (Map<String, Object>) array.get(0);

System.out.println(object);  // 输出: {"picServiceUrl":"0f4bb44afb2e48d48b786d3bbdeec283/20180408/695329","mainPage":"1","name":12.36}

System.out.println(object.get("picServiceUrl"));  // 输出: 0f4bb44afb2e48d48b786d3bbdeec283/20180408/695329

如果 类ServiceGoodsPicture 中含有   private String picServiceUrl;  和   private Boolean mainPage; 两个属性,则 可以把  object 转化成  ServiceGoodsPicture 的一个对象:

ServiceGoodsPicture entity = ClassUtil.mapToEntity(ServiceGoodsPicture.class, object);

System.out.println(entity);  // entity.toString() 输出:

ServiceGoodsPicture [Hash = 31, sid=null, serviceId=null, picServiceUrl=0f4bb44afb2e48d48b786d3bbdeec283/20180408/695329, picCreateTime=null, mainPage=true, sort=null, serialVersionUID=1]

String, JSONArray , JSONObject ,Map<String, Object> 与对象的更多相关文章

  1. String 转 List<Map<String, Object>>

    public static List<Map<String, Object>> toListMap(String json){ List<Object> list ...

  2. JSONArray - JSONObject - 遍历 \ 判断object空否

    public static void main(String[] args) { String str = "[{name:'a',value:'aa'},{name:'b',value:' ...

  3. 011-JSON、JSONObject、JSONArray使用、JSON数组形式字符串转换为List<Map<String,String>>的8种方法

    一.JSON数据格式 1.1.常用JSON数据格式 1.对象方式:JSONObject的数据是用 { } 来表示的, 例如: { "id" : "123", & ...

  4. JAVA中对List<map<String,Object>>根据map某个key值进行排序

    方法compareTo()比较此对象与指定对象的顺序.如果该对象小于.等于或大于指定对象,则分别返回负整数.零或正整数.返回整数,1,-1,0:返回1表示大于,返回-1表示小于,返回0表示相等. 普通 ...

  5. 用第三方工具类,将JavaBean、List、Map<String,Object>转成JSON文本

    导入第三方jar包: >commons-beanutils-1.7.0.jar >commons-collections-3.1.jar >commons-lang-2.5.jar ...

  6. java中对List<Map<String,Object>>中的中文汉字排序

    import java.text.Collator;import java.util.ArrayList;import java.util.Collections;import java.util.C ...

  7. 迭代输出Map和List<Map<String,Object>>的方法

    一.Map<String,Object> String:key的类型 Object:value的类型,value可能是String,或者int类型,什么类型都可以 对于Map接口来说,本身 ...

  8. List<Map<String, Object>>集合中获取某个key并转换为List<Integer>集合

    package com.codyy.sso.controller.yuanqu; import java.util.ArrayList; import java.util.HashMap; impor ...

  9. JAVA中对List<Map<String,Object>>中的中文汉字进行排序

    转载于:http://blog.csdn.net/flykos/article/details/54631573 参考:http://www.jb51.net/article/88710.htm 本篇 ...

随机推荐

  1. 关于天津中软国际ETC培训中心的见与闻

    半个月的时间转眼即逝,在中软国际天津ETC的实训的两个星期就这样过去了,在中软国际天津站的这段时间也收获了非常多.明确了非常多,了解了很多关于社会就业的知识以及关于软件培训的一些事情.尽管我的了解可能 ...

  2. JavaScript Map 实现

    //定义map function Map() { this.container = {}; } //将key-value放入map中 Map.prototype.put = function(key, ...

  3. expect脚本免密码

    #!/usr/bin/expect set timeout spawn ssh root@20.0.102.19 expect "password:" send "123 ...

  4. 如何为Drupal缓存对象指定缓存类?

    什么意思?意思是说,假如你有这样的需求,需要将cache_page缓存到数据库,其它的都缓存到memcache,这该怎么办? 看看_cache_get_object()的实现你就会知道上面的问题该怎么 ...

  5. mysql去除内容中的换行和回车

    UPDATE tablename SET field = REPLACE(REPLACE(field, CHAR(10), ”), CHAR(13), ”); char(10): 换行符 char(1 ...

  6. easyui datagrid动态设置行、列、单元格不允许编辑

    Easyui datagrid 行编辑.列编辑.单元格编辑设置 功能: 动态对datagrid 进行行.列.单元格编辑进行设置不允许编辑. 禁用行编辑: 在编辑方法调用前,对选择的行进行判断,如果不允 ...

  7. angularJS 使用自定义指令输出模板

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...

  8. document.documentElement.scrollTop

    要获取当前页面的滚动条纵坐标位置, 用:      document.documentElement.scrollTop; 而不是:      document.body.scrollTop; doc ...

  9. Spring技术内幕:Spring AOP的实现原理(三)

    生成SingleTon代理对象在getSingleTonInstance方法中完毕,这种方法时ProxyFactoryBean生成AopProxy对象的入口.代理对象会封装对target目标对象的调用 ...

  10. cocos2dx 3.x Node::schedule

    auto callback = [=](float dt){ //do something }; node->schedule(callback, 1.0/60, "mySchedul ...