日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

android jackson 解析json字符串,android:json解析的两个工具:Gson和Jackson的使用小样例...

發(fā)布時(shí)間:2025/3/12 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android jackson 解析json字符串,android:json解析的两个工具:Gson和Jackson的使用小样例... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.簡(jiǎn)單介紹

json是android與server通信過(guò)程中經(jīng)常使用的數(shù)據(jù)格式,比如。例如以下是一個(gè)json格式的字符串:

{"address":"Nanjing","name":"NUPT","students":[{"name":"stu1","id":"10000","age":20},{"name":"stu1","id":"10001","age":21},{"name":"stu1","id":"10002","age":22}]}

2.android中經(jīng)常使用的兩個(gè)json庫(kù)為:Gson和Jackson,一下就看一下它們是怎樣將對(duì)象轉(zhuǎn)化為json字符串,以及怎樣將json字符串轉(zhuǎn)化為java對(duì)象。

定義Student類:

/*

* $filename: Student.java,v $

* $Date: 2014-5-12 $

* Copyright (C) ZhengHaibo, Inc. All rights reserved.

* This software is Made by Zhenghaibo.

*/

package com.example.testjson;

/*

*@author: ZhengHaibo

*web: http://blog.csdn.net/nuptboyzhb

*mail: [email?protected]

*2014-5-12 Nanjing,njupt,China

*/

public class Student {

private String name;

private String id;

private int age;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

}

定義School類:

/*

* $filename: School.java,v $

* $Date: 2014-5-12 $

* Copyright (C) ZhengHaibo, Inc. All rights reserved.

* This software is Made by Zhenghaibo.

*/

package com.example.testjson;

import java.util.List;

/*

*@author: ZhengHaibo

*web: http://blog.csdn.net/nuptboyzhb

*mail: [email?protected]

*2014-5-12 Nanjing,njupt,China

*/

public class School {

private String name;

private String address;

List students;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getAddress() {

return address;

}

public void setAddress(String address) {

this.address = address;

}

public List getStudents() {

return students;

}

public void setStudents(List students) {

this.students = students;

}

}

初始化一個(gè)School的java對(duì)象,待使用:

private School initSchoolData(){

School school = new School();

school.setAddress("Nanjing");

school.setName("NUPT");

List list = new ArrayList();

for(int i= 0;i<3;i++){

Student student = new Student();

student.setAge(20+i);

student.setId("1000"+i);

student.setName("stu"+1);

list.add(student);

}

school.setStudents(list);

return school;

}

3.使用Gson。進(jìn)行java對(duì)象與json字符串之間的相互轉(zhuǎn)換

private void testGson(){

School school = initSchoolData();

Gson gson = new Gson();

//將對(duì)象轉(zhuǎn)化為json字符串

String jsonString = gson.toJson(school).toString();

//打印

System.out.println("GSON="+jsonString);

/******切割線*****/

//將字符串轉(zhuǎn)化為JSON對(duì)象

School resultSchool = gson.fromJson(jsonString, School.class);

//打印

System.out.println(resultSchool.getStudents().get(0).getName());

}

可見(jiàn),Gson是通過(guò)toJson和fromJson兩個(gè)方法進(jìn)行轉(zhuǎn)換的,使用起來(lái)十分方便。

4.使用Jackson

private void testJackson(){

School school = initSchoolData();

ObjectMapper objectMapper = new ObjectMapper();

String jsonString = "";

//將對(duì)象轉(zhuǎn)化為Json字符串

try {

jsonString = objectMapper.writeValueAsString(school);

System.out.println("Jackson="+jsonString);

} catch (JsonProcessingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

//將json字符串解析成java對(duì)象

try {

School resultSchool = objectMapper.readValue(jsonString, School.class);

//打印

System.out.println(resultSchool.getStudents().get(0).getName());

} catch (JsonParseException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (JsonMappingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

使用Jackson,主要是使用writeValueAsString和readValue這兩個(gè)方法。此外。Jackson的writeValue和readValue有非常多種參數(shù)類型,適用于多中場(chǎng)合。

注意:以上僅僅是這兩個(gè)工具類的基本使用方法,很多其它了解。參見(jiàn)官方文檔。

總結(jié)

以上是生活随笔為你收集整理的android jackson 解析json字符串,android:json解析的两个工具:Gson和Jackson的使用小样例...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。