加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

关于Json-lib类库的使用 Gson简要使用笔记

发布时间:2021-07-06 06:08:54 所属栏目:大数据 来源: https://www.jb51.cc
导读:前言介绍: json-lib包是一个Java类库,它可以将Java对象(包括:beans,maps,collections,java arrays ,xml等)和JSON互相转换。 与此相同的是谷歌也推出了一个类库叫Gson,它们能做到的效果都是一样的,今天就先不讲了。 ? 准备工作: 首先我们需要去下

前言介绍:

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  value    json内容(多种类型,类类型,字符串,List集合等)
11 @return    返回一个json表达式
12      */
13     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、提供一个数据源类

 com.lcw.json.service;
 java.util.ArrayList;
 4  java.util.HashMap;
 java.util.List;
 6  java.util.Map;
 7 
 com.lcw.json.vo.Person;
 9 
 JsonService {
11     
12     得到一个Person对象
public Person getPerson(){
14         Person person=new Person(1,"tuzi",22);实例化一个Person对象
15          person;
16 17     
18     得到一个List集合(存放Person类型)
19     public List<Person> getListPerson(){
20         List<Person> list=new ArrayList<Person>();
21         Person person1=);
22         Person person2=new Person(2,2223         list.add(person1);
24         list.add(person2);
25          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         35 36     
37     
38     得到一个List集合(存放Map类型)
39     public List<Map<String,Object>> getListPersons(){
40         List<Map<String,Object>> list=new ArrayList<Map<String,1)">41         
42         Map<String,Object> map1=new HashMap<String,Object>43         Person person1=44         map1.put("person1",person1);
45         
46         Map<String,Object> map2=47         Person person2=48         map2.put("person2"49         
50         list.add(map1);
51         list.add(map2);
52         
53         54         
55 56     
57 
58 }

?

3、实体类

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

?

4、测试类

 com.lcw.json.test;
 5 
 org.junit.Test;
 com.lcw.json.service.JsonService;
 com.lcw.json.util.MakeJson;
11 
12  JsonTest {
13 
    @Test
15      getPersonJson() {
16         JsonService jsonService =  JsonService();
17         Person p1 = jsonService.getPerson();
18         String info = MakeJson.getJson("person"19         System.out.println(info);
20 21 
23      getListPersonJson() {
24         JsonService jsonService = 25         List<Person> persons = jsonService.getListPerson();
26         String info = MakeJson.getJson("persons"28 
29 30 
31  getListString() {
33         JsonService jsonService = 34         List<String> news = jsonService.getInfo();
35         String info = MakeJson.getJson("info"36 37 38     
39 40      getListPersonsJson() {
41         JsonService jsonService = 42         List<Map<String,Object>> persons = jsonService.getListPersons();
43         String info = MakeJson.getJson("persons"44 45 
46 47     
48 
49 }

?

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

?

?

?

?

接着来顺带小提下关于谷歌提供的类库:Gson

首先还是一样,需要先导入想对应的jar包

?

我们只需要去修改文章上面提供的工具类:(少了key标示符)

package com.lcw.json.util;
import com.google.gson.Gson;
/**
     * @param value    json内容(多种类型,类类型,字符串,List集合等)
     * @return    返回一个json表达式
11       String getJson(Object value){
13         Gson gson= Gson();
14         String info=gson.toJson(value);为json设置一个数据源,这个类库是自动转换成json格式,并返回一个json字符格式
17 
18 }

?

关于Gson的使用,可以看下这个简要笔记:《Gson简要使用笔记》

?

?

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

下篇文章讲解从服务端获取到json数据,在Android客户端的解析。

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读