关于json-lib类库的使用

前言介绍:

json-lib包是一个Java类库,它可以将Java对象(包括:beans,maps,collections,java arrays ,xml等)和JSON互相转换。

与此相同的是谷歌也推出了一个类库叫Gson,这个今天先不讲。

准备工作:

首先我们需要去下载json-lib的jar包,并导入工程

由于使用方法很简单,这里就直接上代码了

1、首先写一个json的工具类,传入2参数,1为json的标示符(自定义),2为需要转换成json字符串格式的对象

 1 package com.lcw.json.util;
 2
 3 import net.sf.json.JSONObject;
 4
 5 public class MakeJson {
 6
 7     /**
 8      *
 9      * @param key    json的标示符
10      * @param value    json内容(多种类型,类类型,字符串,List集合等)
11      * @return    返回一个json表达式
12      */
13     public static String getJson(String key,Object value){
14         JSONObject jsonObject=new JSONObject();
15         jsonObject.put(key, value);//给jsonobject对象赋值
16         String info=jsonObject.toString();
17         return info;
18     }
19
20 }

2、提供一个数据源类

 1 package com.lcw.json.service;
 2
 3 import java.util.ArrayList;
 4 import java.util.HashMap;
 5 import java.util.List;
 6 import java.util.Map;
 7
 8 import com.lcw.json.vo.Person;
 9
10 public class JsonService {
11
12     //得到一个Person对象
13     public Person getPerson(){
14         Person person=new Person(1, "tuzi", 22);//实例化一个Person对象
15         return person;
16     }
17
18     //得到一个List集合(存放Person类型)
19     public List<Person> getListPerson(){
20         List<Person> list=new ArrayList<Person>();
21         Person person1=new Person(1, "lcw", 20);
22         Person person2=new Person(2, "tuzi", 22);
23         list.add(person1);
24         list.add(person2);
25         return list;
26
27     }
28     //得到一个List集合(存放String类型)
29     public List<String> getInfo(){
30         List<String> list=new ArrayList<String>();
31         list.add("北京");
32         list.add("上海");
33         list.add("广州");
34         return list;
35     }
36
37
38     //得到一个List集合(存放Map类型)
39     public List<Map<String,Object>> getListPersons(){
40         List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();
41
42         Map<String, Object> map1=new HashMap<String, Object>();
43         Person person1=new Person(1, "lcw", 20);
44         map1.put("person1", person1);
45
46         Map<String, Object> map2=new HashMap<String, Object>();
47         Person person2=new Person(2, "tuzi", 22);
48         map2.put("person2", person2);
49
50         list.add(map1);
51         list.add(map2);
52
53         return list;
54
55     }
56
57
58 }

3、实体类

 1 package com.lcw.json.vo;
 2
 3 public class Person {
 4
 5     private int id;
 6     private String name;
 7     private int age;
 8
 9     public Person(int id, String name, int age) {
10         super();
11         this.id = id;
12         this.name = name;
13         this.age = age;
14     }
15
16     public int getId() {
17         return id;
18     }
19
20     public void setId(int id) {
21         this.id = id;
22     }
23
24     public String getname() {
25         return name;
26     }
27
28     public void setname(String name) {
29         this.name = name;
30     }
31
32     public int getAge() {
33         return age;
34     }
35
36     public void setAge(int age) {
37         this.age = age;
38     }
39
40     @Override
41     public String toString() {
42         return "Person [age=" + age + ", id=" + id + ", name=" + name + "]";
43     }
44
45 }

4、测试类

 1 package com.lcw.json.test;
 2
 3 import java.util.List;
 4 import java.util.Map;
 5
 6 import org.junit.Test;
 7
 8 import com.lcw.json.service.JsonService;
 9 import com.lcw.json.util.MakeJson;
10 import com.lcw.json.vo.Person;
11
12 public class JsonTest {
13
14     @Test
15     public void getPersonJson() {
16         JsonService jsonService = new JsonService();
17         Person p1 = jsonService.getPerson();
18         String info = MakeJson.getJson("person", p1);
19         System.out.println(info);
20     }
21
22     @Test
23     public void getListPersonJson() {
24         JsonService jsonService = new JsonService();
25         List<Person> persons = jsonService.getListPerson();
26         String info = MakeJson.getJson("persons", persons);
27         System.out.println(info);
28
29     }
30
31     @Test
32     public void getListString() {
33         JsonService jsonService = new JsonService();
34         List<String> news = jsonService.getInfo();
35         String info = MakeJson.getJson("info", news);
36         System.out.println(info);
37     }
38
39     @Test
40     public void getListPersonsJson() {
41         JsonService jsonService = new JsonService();
42         List<Map<String,Object>> persons = jsonService.getListPersons();
43         String info = MakeJson.getJson("persons", persons);
44         System.out.println(info);
45
46     }
47
48
49 }

上面是4个单元测试类,代码很简单,就不再做文字解释了,看下运行效果图:

如果想做成服务端供远程调用,把这些数据打印输出到网页就可以了。  ^_^

时间: 2024-07-31 18:45:34

关于json-lib类库的使用的相关文章

Java JSON处理类库Jackson

Jackson是一款为Java平台提供的一套数据处理类库工具,Jackson的主要功能是提供JSON解析和生成,另外,Jackson还提供额外的类库以支持处理Avro, CBOR, CSV, Smile, XML 和 YAML,功能十分强大,在Java中处理JSON数据非常不错. 相关的示例代码: { "name" : { "first" : "Joe", "last" : "Sixpack" }, &qu

JSON工具类库: alibaba/fastjson 使用记录

JSON工具类库: alibaba/fastjson 使用记录 一.了解JSON JSON标准规范中文文档: http://www.json.org/json-zh.html 最佳实践:http://kimmking.github.io/2017/06/06/json-best-practice/ (JSON的高级使用,特别十分有参考价值) 二.项目地址和Wiki: Git地址: https://github.com/alibaba/fastjson Wiki:https://github.co

JSON lib 里JsonConfig详解

一,setCycleDetectionStrategy 防止自包含 /** * 这里测试如果含有自包含的时候需要CycleDetectionStrategy */ public static void testCycleObject() { CycleObject object = new CycleObject(); object.setMemberId("yajuntest"); object.setSex("male"); JsonConfig jsonCon

Json工具类库之Gson实战笔记

日常接口的数据传输通常使用xml或者json来传递数据,xml较庞大但是描述数据能力十分出众,json数据结构较小而且支持ajax传输,xml在数据传输和解析资源占用都比较逊色于json.因此日常的接口通常都使用json的数据格式进行传输.一方面能减少应用或者客户端如Android应用解析数据的资源占用,另一方面节省宝贵的数据传输时间. Java中对Json的序列化和反序列化常用的工具有Json.Fastjson.Gson等.其中,Fastjson是阿里巴巴的开源产品,用Java语言实现,号称是

Newtonsoft Json操作类库的使用

1.解析简单Json字符串 if (l_sSenJson != "") { JObject obj2 = (JObject)JsonConvert.DeserializeObject(l_sSenJson); //执行反序列化 if (obj2["ResultStatus"].ToString() == "true") { JObject obj3 = (JObject)JsonConvert.DeserializeObject(l_sReval

XML JSON 解析类库

Jackson:processing JSON 1.Streaming API 2.Tree Model 3.Data Binding XML:processing XML 1.StAX API 2.JAXB 3.XML DOM

json lib 2.4及其依赖包下载

下载文件地址:https://files.cnblogs.com/files/xiandedanteng/json-lib-2.4%26dependencies_jars.rar 它包括 commons-beanutils-1.9.3.jar commons-collections-3.2.jar commons-lang-2.3.jar commons-logging-1.2.jar ezmorph-1.0.6.jar json-lib-2.4-jdk15.jar 这些库可以满足转化Java对

Json转换类库

20160605 简单的DaTable转Json private string DtConvertJson(DataTable dt , string modelName="") { int colNum = dt.Columns.Count; int rowNum = dt.Rows.Count; StringBuilder sb = new StringBuilder(); if(rowNum > 1) sb.Append("{\""+ mode

C# XML转JSON,不引用第三方JSON.NET类库

应用场景:需要调用第三方接口(返回XML)数据,然后供自己多个系统使用(涉及跨域,使用JSONP) 代理:调用接口(把XML转换为JSONP解决跨域问题) B/S应用系统:调用代理返回的数据进行UI显示 支持XML无限级节点,支持同级同名节点数据合并(尚未做单元测试,如果还有其他bug请底部留言,我会改进并更新到园子) TIPS:不支持XML Attribute,有需要可以自己实现 直接上代码: 1 /// <summary> 2 /// XML转换为JSON(忽略XML Node Attri

Json序列化之.NET开源类库Newtonsoft.Json的研究

一.Json简介                                                                                                                    JSON(全称为JavaScript Object Notation) 是一种轻量级的数据交换格式.它是基于JavaScript语法标准的一个子集. JSON采用完全独立于语言的文本格式,可以很容易在各种网络.平台和程序之间传输.JSON的语法很简单,