json-lib使用,JSONObject和JSONArray

原创 2013年12月02日 18:45:52

1.从Object到String
 要先用Object对象构造一个JSONObject或者JSONArray对象,然后调用它的toString()方法即可

(1)示例一

1 Book book=new Book();
2 book.setName("Java");
3 book.setPrice(52.3f);
4 JSONObject object=JSONObject.fromObject(book);
5 System.out.println(object.toString());

(2)示例二

复制代码
 1         Book book=new Book();
 2         book.setName("Java");
 3         book.setPrice(52.3f);
 4         
 5         Book book2=new Book();
 6         book2.setName("C");
 7         book2.setPrice(42.3f);
 8         List list=new ArrayList();
 9         list.add(book);
10         list.add(book2);
11         JSONArray arry=JSONArray.fromObject(list);
12         System.out.println(arry.toString());
13 //结果如下:
14 [{"name":"Java","price":52.3},{"name":"C","price":42.3}]
复制代码

2.从String到Object
 要先用String对象构造一个JSONObject或者JSONArray对象
(1)示例一 

1 String json="{name:'Java',price:52.3}";    
2 JSONObject object=JSONObject.fromObject(json);
3 System.out.println(object.get("name")+" "+object.get("price"));

(2)示例二

复制代码
1 String json="[{name:'Java',price:52.3},{name:'C',price:42.3}]";
2 JSONArray array=JSONArray.fromObject(json);
3 for(int i=0;i<array.size();i++){
4     Map o=(Map)array.get(i);
5     System.out.println(o.get("name")+" "+o.get("price"));
6 }
复制代码

3.从String到Bean

(1)单个Bean对象

1         String json="{name:'Java',price:52.3}";
2         JSONObject object=JSONObject.fromObject(json);
3         Product product=(Product)JSONObject.toBean(object,Product.class);
4         System.out.println(product.getName()+" "+product.getPrice());

(2).Bean的数组

复制代码
1         String json="[{name:'Java',price:52.3},{name:'C',price:42.3}]";
2         JSONArray array=JSONArray.fromObject(json);
3         Product[] products=(Product[]) JSONArray.toArray(array,Product.class);
4         for(Product p:products){
5             System.out.println(p.getName()+" "+p.getPrice());
6         }
复制代码

自定义封装JSON操作的类

复制代码
 1 package com.util;
 2 
 3 import java.util.List;
 4 import java.util.Map;
 5 
 6 import net.sf.json.JSONArray;
 7 import net.sf.json.JSONObject;
 8 
 9 public class JsonHelper {
10     //从普通的Bean转换为字符串
11     public static String getJson(Object o){
12         JSONObject jo=JSONObject.fromObject(o);
13         return jo.toString();
14     }
15     //从Java的列表转换为字符串
16     public static String getJson(List list){
17         JSONArray ja=JSONArray.fromObject(list);
18         return ja.toString();
19     }
20     //从Java对象数组转换为字符串
21     public static String getJson(Object[] arry){
22         JSONArray ja=JSONArray.fromObject(arry);
23         return ja.toString();
24     }
25     //从json格式的字符串转换为Map对象
26     public static Map getObject(String s){
27         return     JSONObject.fromObject(s);
28     }
29     //从json格式的字符串转换为List数组
30     public static List getArray(String s){
31         return JSONArray.fromObject(s);
32     }
33     //从json格式的字符串转换为某个Bean
34     public static Object getObject(String s,Class cls){
35         JSONObject jo=JSONObject.fromObject(s);
36         return JSONObject.toBean(jo, cls);
37     }
38     //从json格式的字符串转换为某类对象的数组
39     public static Object getArray(String s,Class cls){
40         JSONArray ja=JSONArray.fromObject(s);
41         return JSONArray.toArray(ja, cls);
42     }
43 }

JsonArray与JsonObject的区别与解析

JsonArray 与JsonObject的区别: JsonArray是以“[]”包裹起来的数组(Array数组),而JsonObject是“{}”包裹起来的对象(Object对象)   jso...
  • greatsuny
  • greatsuny
  • 2014年09月15日 09:12
  • 10128

json数据解析<一> JSONObject和JSONArray的简单使用

这两天在翻新项目,之前写项目的时候因为定义bean对象的时候没有使用泛型,每次请求服务器返回数据时都要定义对象,代码显的很臃肿,于是查了相关资料,这次使用谷歌的json和泛型对象对服务器返回数据进行了...
  • abc6368765
  • abc6368765
  • 2016年03月15日 09:56
  • 819

JSONObject与JSONArray以及前后台数据通过json传输

1、简述JSONObject与JSONArray           JSONObject是对象,基本上是{key:value,key:value......}形式。JSONArray是数组形式。其...
  • jessysong
  • jessysong
  • 2016年08月02日 16:08
  • 160

Android-json解析(三):原生JSONObject+JSONArray的使用

一、JSONObject和JSONArray的数据表示形式JSONObject的数据是用 { } 来表示的,例如: { "id" : "123", "courseID" : "huangt-tes...
  • sinat_31057219
  • sinat_31057219
  • 2017年05月10日 13:06
  • 2421

对象转JSONArray,JSONObject[包括对象中日期格式化,属性过滤]

创建时间转换器 import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import n...
  • fengxue_love
  • fengxue_love
  • 2016年05月04日 15:53
  • 4152

JSON4:嵌套的JsonObject与JSONArray的取值

嵌套的JsonObject与JSONArray的取值
  • kku005
  • kku005
  • 2015年08月02日 16:56
  • 5583

Java基础系列16:使用JSONObject和JSONArray解析和构造json字符串

转自:https://www.zifangsky.cn/561.html 一 介绍 在Java开发中,我们通常需要进行XML文档或JSON字符串的构造和解析。当然在Java Web开发中有一些...
  • zh123456zh789
  • zh123456zh789
  • 2017年03月27日 10:25
  • 1247

JSONObject、JSONArray方法使用详解

1.JSONObject介绍 JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包。 2.下载jar包 http...
  • sunny_na
  • sunny_na
  • 2017年01月20日 11:59
  • 5419

java和js中JSONObject,JSONArray,Map,String之间转换——持续更新中

1.String转JSONObject String jsonMessage = "{\"语文\":\"88\",\"数学\":\"78\",\"计算机\":\"99\"}"; JSONObject...
  • superit401
  • superit401
  • 2016年06月21日 17:24
  • 43020

如何用String字符串生成JSONObject和JSONArray数据

首先要搞清楚有两种包都支持字符串转json数据,但这两种的语法并不相同。 这两个包分别是:org.json和json-lib;其中如果要用json-lib的话还必须下载另外5个jar包,而使用org...
  • u014260748
  • u014260748
  • 2015年03月12日 21:09
  • 7794
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:json-lib使用,JSONObject和JSONArray
举报原因:
原因补充:

(最多只允许输入30个字)