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 }
 
 
 
 
 
 
 
 

Json-lib使用 转载的更多相关文章

  1. Atitit.json类库的设计与实现 ati json lib

    Atitit.json类库的设计与实现 ati json lib 1. 目前jsonlib库可能有问题,可能版本冲突,抛出ex1 2. 解决之道:1 2.1. 自定义json解析库,使用多个复合的js ...

  2. Json lib集成stucts2的使用方法 抛出 NestableRuntimeException异常的解决办法

    首先贴出struts 2.3.16需要导入的包 因为使用的是2.3 版本,必须要导入这个包,否则会报java.lang.NoClassDefFoundError: org/apache/commons ...

  3. 使用JsonConfig控制JSON lib序列化

    将对象转换成字符串,是非常常用的功能,尤其在WEB应用中,使用 JSON lib 能够便捷地完成这项工作.JSON lib能够将Java对象转成json格式的字符串,也可以将Java对象转换成xml格 ...

  4. REST Adapter实现SAP PI中的增强XML/JSON格式转换(转载)

    SAP标准的REST adapter有着XML/JSON转换的功能,它很有用,因为一方面SAP PI/PO内部以XML格式处理数据,而另一方面,在处理REST架构风格的时候,JSON才是事实上的格式. ...

  5. JSON.parse()和JSON.stringify()(转载)

    parse用于从一个字符串中解析出json对象,如 var str = '{"name":"huangxiaojian","age":&qu ...

  6. Jackson学习二之集合类对象与JSON互相转化--转载

    原文地址:http://lijingshou.iteye.com/blog/2003059 本篇主要演示如何使用Jackson对List, Map和数组与JSON互相转换. package com.j ...

  7. JSON lib 里JsonConfig详解

    一,setCycleDetectionStrategy 防止自包含 /** * 这里测试如果含有自包含的时候需要CycleDetectionStrategy */ public static void ...

  8. JSON资料整理(转载)

    目录 1.什么是json 2.json语法规则 3.json基础结构 4.json基础示例 5.JSON和XML比较 6. .NET操作JSON 原始方式 通用方式 内置方式 契约方式 通过序列化将. ...

  9. Fiddler抓包7-post请求(json)【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/fiddler/ 前言上一篇讲过get请求的参数都在url里,post的请求相对于get ...

  10. json lib 2.4及其依赖包下载

    下载文件地址:https://files.cnblogs.com/files/xiandedanteng/json-lib-2.4%26dependencies_jars.rar 它包括 common ...

随机推荐

  1. 学习Perl6: slice fastq file

    需求: 只获取 ath 物种的 hairpin 序列 文件格式如下所示,以>打头的为 header,紧跟的为序列[AUCG]+ (Perl5 regexp 格式) #!/usr/bin/env ...

  2. webapi获取请求地址的IP

    References required: HttpContextWrapper - System.Web.dll RemoteEndpointMessageProperty - System.Serv ...

  3. mysql表导入到oracle

    一.创建jack表,并导入一下数据 mysql),flwo )) engine=myisam; Query OK, rows affected (0.08 sec) mysql> load da ...

  4. Win7家庭版包“已停止工作”

    在VS2010上依据接口,写了个WiFi共享软件,在Win7旗舰班上正确无误,而在却在Win7家庭版上运行不了,报“已停止工作”错误. 解决方法: 1.下载安装vs2010对应的.Net平台:Micr ...

  5. oracle-odu小试牛刀--恢复drop表的数据

         现在进入oracle12c时代:普遍用的oracle版本为10g以上.在oracle10g之后提供了一个回收的机制.所以恢复drop表的数据以及表很容易.当然需要打开回收机制以及是归档模式. ...

  6. js声明

    var a = 2; //我们习惯把这条语句当做一条声明 但是js引擎把它当做两条声明. var a; //在编译时执行  同时var a;存在提升 a = 2;//在运行是执行  赋值lhs不会提升 ...

  7. 计算机学院大学生程序设计竞赛(2015’12)The Country List

    The Country List Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  8. Robberies(简单的01背包 HDU2955)

    Robberies Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  9. Eclipse 中outline的小图标的含义(zend也一样)

    颜色:绿色:public黄色:protected蓝色:no modifier红色:private形状:实心:method空心:variable实心中间有字母C:classClass右侧有向右的箭头:运 ...

  10. 基于@AspectJ和schema的aop(一)

    在前面我们使用Pointcut和Advice描述切点和增强, 并使用Advisor整合两者描述切面.@AspectJ使用注解来描述切点和增强.两者使用的方式不同, 但是在本质上都是一样的. 我们还是用 ...