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]

最新文章

  1. Express URL跳转(重定向)的实现
  2. thoughtworks编程题
  3. 搭建appium的android环境
  4. Silverlight页面通过继承扩展实现
  5. UML系列02之 UML类图(2)
  6. PHP和MYSQL的编码问题
  7. 从 JavaScript 到 TypeScript
  8. js中的数组排序
  9. Retrofit的初次使用
  10. 20175213 2018-2019-2 《Java程序设计》第8周学习总结
  11. python之支付
  12. eclipse maven install没反应解决办法
  13. MySQL 分支和循环结构
  14. vmware虚拟网络
  15. visual c++中预定义的宏
  16. Python实现堆数据结构
  17. BDE 升级到FireDAC
  18. [JS] js 判断用户是否在浏览当前页面
  19. main方法为什么是静态的
  20. bzoj4695 最假女选手

热门文章

  1. hibernate 联合主键
  2. mybatis学习知识
  3. 使用 WinEdt 来写中文文章or 建模论文
  4. SSDB(网络LevelDB)-- 实际遇到的问题
  5. linux文本分析利器awk
  6. laravel中,提交表单后给出提示例如添加成功,添加失败等等
  7. unity5, UGUI刺穿问题解法
  8. Jetty - Container源码分析
  9. linux下Oracle数据库实例开机自启动设置
  10. C/C++ 错误笔记-解决swap函数与标准库的std::swap函数冲突的问题