Json in Java

 

Json 就是轻量级的 XML

XML 比较适合于标记文档,而   JSON 却更适于进行数据交换处理。

Json 应用较为简单,但是易读性不强。

尽管有许多宣传关于 XML 如何拥有跨平台, 跨语言的优势,然而,除非应用于 Web Services, 否则, 在普通的 Web 应用中,开发者经常为 XML 的解析伤透了脑筋, 无论是服务器端生成或处理 XML,还是客户端用 JavaScript 解析 XML, 都常常导致复杂的代码,极低的开发效率。实际上,对于大多数 Web 应用来说, 他们根本不需要复杂的 XML 来传输数据,XML 的扩展性很少具有优势, 许多 AJAX 应用甚至直接返回 HTML 片段来构建动态 Web 页面。 和返回 XML 并解析它相比, 返回 HTML 片段大大降低了系统的复杂性, 但同时缺少了一定的灵活性。
 

这是一般的Json

{"username":"coolcooldool","password":"1230","usertype":"superadmin"}
这个是带数组的Json
{"list":[{"password":"1230","username":"coolcooldool"}, {"password":"thisis2","username":"okokok"}]}
下面是Java中json的实现形式: 在java中json有自己的类 我们可以通过导入下面这个jar包实现json的所有功能  
像上面提到的这种json需要解析成java中的JSONObject类或者JSONArray类通过这种方法可以
把json字符串转换为各种类型的数据。
String strJson = "{\"students\":[{\"name\":\"Jack\",\"age\":12}, 
{\"name\":\"Vista\",\"age\":23}, {\"name\":\"Kaka\",\"age\":22}, 
{\"name\":\"Hony\",\"age\":31}]}"; 
try { JSONObject jo = new JSONObject(strJson); 
JSONArray jsonArray = (JSONArray) jo.get("students"); 
for (int i = 0; i < jsonArray.length(); ++i) { 
JSONObject o = (JSONObject) jsonArray.get(i); 
System.out.println("name:" + o.getString("name") + "," + "age:"+ o.getInt("age")); 
} } catch (JSONException e) { e.printStackTrace(); }

 

各种类型的数据转化为json代码
1. List集合转换成json代码 
List list = new ArrayList(); 
list.add( "first" ); 
list.add( "second" ); 
 jsonArray2 = JSONArray.fromObject( list ); 
2. Map集合转换成json代码 
Map map = new HashMap(); 
map.put("name", "json"); 
map.put("bool", Boolean.TRUE); 
map.put("int", new Integer(1)); 
map.put("arr", new String[] { "a", "b" }); 
map.put("func", "function(i){ return this.arr[i]; }"); 
JSONObject json = JSONObject.fromObject(map); 
3. Bean转换成json代码 
JSONObject jsonObject = JSONObject.fromObject(new JsonBean()); 
4. 数组转换成json代码 
boolean[] boolArray = new boolean[] { true, false, true }; 
JSONArray jsonArray1 = JSONArray.fromObject(boolArray); 
5. 一般数据转换成json代码 
JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']" );

转载于:https://my.oschina.net/HappySea/blog/149534

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值