package com.hanchao.web;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
/************************ java解析json* @author:han  * @version:1.0      * @created:2013-8-28  ************************/
public class TestJson {public static void main(String[] args) {String json = "{'id':1," +"'username':{'tom':'tom','jerry':'jerry'}," +"'address':[{'us':'usa','cancada':'canada'},{'chi':'china','aus':'aus'}]}";JSONObject jo = JSONObject.fromObject(json);System.err.println("1--:" + jo.get("id"));JSONObject uObject = jo.getJSONObject("username");System.out.println("2--username:" + uObject);System.out.println("2--username:" + uObject.get("tom"));JSONArray addressArray = jo.getJSONArray("address");System.out.println("3--:" + addressArray.getJSONObject(0));System.out.println("3--:" + addressArray.getJSONObject(0).get("us"));System.out.println("3--:" + addressArray.getJSONObject(1).get("chi"));}
}

结果:

1--:1

2--username:{"tom":"tom","jerry":"jerry"}

2--username:tom

3--:{"us":"usa","cancada":"canada"}

3--:usa

3--:china

============对象转为JSON对象---------------

Map<String, Object> map = new HashMap<String, Object>();
map.put("id", 1);
map.put("username", "hanchao");
map.put("password", 123L);
String toJson = JSONObject.fromObject(map).toString();
System.out.println("toJSON:" + toJson);
JSONObject jo1 = JSONObject.fromObject(toJson);
System.out.println("id:" + jo1.getInt("id") + ", username:" + jo1.getString("username") + ", password:" + jo1.getString("password"));
//2014-04-03-把List集合转为JSon数组--------------------------------------------
//方法一:
List<User> list = new ArrayList<User>();
User u1 = new User();
u1.setId(1);
u1.setUsername("u1");
u1.setPassword("p1");
User u2 = new User();
u2.setId(2);
u2.setUsername("u2");
u2.setPassword("p2");
list.add(u1);
list.add(u2);
String resultJson = JSONArray.fromObject(list).toString();
System.out.println(" ========= : " + resultJson);
//方法二:
JSONArray array = new JSONArray();
for(User user : list) {JSONObject obj = new JSONObject();obj.put("username", user.getUsername());obj.put("id", user.getId());obj.put("password", user.getPassword());array.add(obj);
}
String resultJSON2 = array.toString();
System.out.println(" ========= : " + resultJSON2);

转载于:https://blog.51cto.com/hanchaohan/1284426

java解析json的一种方法相关推荐

  1. 详解Java解析XML的四种方法

    http://developer.51cto.com  2009-03-31 13:12  cnlw1985  javaeye  我要评论(8) XML现在已经成为一种通用的数据交换格式,平台的无关性 ...

  2. java解析xml的三种方法

    java解析XML的三种方法 1.SAX事件解析 package com.wzh.sax;import org.xml.sax.Attributes; import org.xml.sax.SAXEx ...

  3. Java 解析XML的几种方法

    XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便. XML在不同的语言里解析方式都是一样的,只不过实现的语法不同而已. 基本的解析方式 ...

  4. java dom4j api_详解Java解析XML的四种方法(推荐使用DOM4J,因为for Java)

    前言 XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有 ...

  5. 详解Java解析XML的四种方法(转载)

    原文地址:http://developer.51cto.com/art/200903/117512.htm XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成 ...

  6. java 的xml_详解Java解析XML的四种方法

    XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM ...

  7. Java解析XML的四种方法

    XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM ...

  8. js解析json字符串为json对象,js解析json的6种方法

    1.一种为使用eval()函数. 方式如下: var dataObj=eval("("+data+")"); 为什么要加() 原因在于:eval本身的问题. 由 ...

  9. java 把map转换成json_map转换成JSON的3种方法

    1 json-lib net.sf.json-lib json-lib 2.4 jdk15 import java.util.HashMap; import java.util.Map; import ...

最新文章

  1. (已解决)ubuntu20.04 jar xvf XXX.zip报错-java.io.EOFException:Unexpected end of ZLIB input stream
  2. 基于springMVC拦截器实现操作日志统计
  3. Java异常处理机制很有意思
  4. html 自定义打印模板,HTML+CSS入门 自定义模板详解
  5. 信息学奥赛一本通(1141:删除单词后缀)
  6. 导航属性没有被赋值_excel编程系列基础:操作对象RANDE的属性介绍
  7. ELJSTLMVC模式
  8. HDU 5980 位运算 进制转换函数 DEV C++调试失败的原因
  9. Glide4.0源码全解析(三),into()方法背后的故事
  10. vue x 兼容iphone_【前端vue系列】初始化一个vue工程
  11. “VMRC控制台的连接已断开…正在尝试重新连接”的解决方法
  12. 星舆科技北斗高精度定位网启动北斗三号服务
  13. DIY实用工具——看看大神手下的示波器
  14. vue 下载文件 前后端代码亲测有效
  15. 登记车架号/VIN码用车架号识别
  16. c语言alt 小键盘,ALT+小键盘输入《泡MM好招》
  17. 华科计算机硕士毕业论文,华中科技大学硕士毕业论文要求_华中科技大学2020年硕士招生简章_华中科技大学研究生院...
  18. 我是如何用一行代码表白学妹~❤520情人节送女朋友的3D樱花雨相册礼物❤~(程序员表白专属)
  19. 10个用Java谋生非常有趣的方式
  20. 计算机英语讲课笔记08

热门文章

  1. 傻瓜式配置samba服务
  2. linux中nfs存储权限,NFS权限管理 - 麦苗的个人空间 - OSCHINA - 中文开源技术交流社区...
  3. python3.7怎么安装wsgiref_python3.x - python3使用wsgiref时环境变量出现乱码
  4. Java电话号码滚动抽奖_js手机号码批量滚动抽奖代码实现
  5. 普通笔记本能运行Linux么,linux是什么啊?我们普通的台式电脑能不能用啊?
  6. wxpython有没有可视化设计_python图形化界面设计(wxpython)三树控件(wx.TreeCtrl)
  7. 计算机系统建模与仿真论文,计算机模拟 仿真论文.doc
  8. 高级php程序员,php高级程序员该学什么
  9. zplane函数怎么用m文件调用_elastique.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家...
  10. idea2020显示内存占用_【解决讨论】关于macbook pro 16使用 idea2020.1风扇狂转的问题(很吵)...