首页 > 代码库 > 关于json-lib类库的使用
关于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 @Override41 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 @Test15 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 @Test23 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 @Test32 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 @Test40 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个单元测试类,代码很简单,就不再做文字解释了,看下运行效果图:
如果想做成服务端供远程调用,把这些数据打印输出到网页就可以了。 ^_^
关于json-lib类库的使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。