導語:為了方便大家Java的.學習,下面是小編給大家提供的如何使用Jackson解析JSON示例,大家可以參考閲讀,更多詳情請關注應屆畢業生考試網。
package ;
import ception;
import yList;
import Map;
import ator;
import edHashMap;
import ;
import ;
import ;
import Generator;
import ParseException;
import MappingException;
import ctMapper;
import NodeFactory;
public class JacksonTest {
private static JsonGenerator jsonGenerator = null;
private static ObjectMapper objectMapper = null;
private static User user = null;
public static void writeEntity2Json() throws IOException {
tln("使用JsonGenerator轉化實體為json串-------------");
// writeObject可以轉換java對象,eg:JavaBean/Map/List/Array等
eObject(user);
tln();
tln("使用ObjectMapper-----------");
// writeValue具有和writeObject相同的功能
eValue(, user);
}
public static void writeList2Json() throws IOException {
List userList = new ArrayList();
(user);
User u = new User();
id(10);
name("archie");
pwd("123");
(u);
eValue(, userList);
}
public static void writeMap2Json() {
try {
Map map = new HashMap();
User u = new User();
id(10);
name("archie");
pwd("123");
("uid", id());
("uname", name());
("upwd", pwd());
tln("jsonGenerator");
eObject(map);
eValue(, map);
} catch (IOException e) {
tStackTrace();
}
}
public static void writeOthersJSON() {
try {
String[] arr = { "a", "b", "c" };
tln("jsonGenerator");
String str = "hello world jackson!";
// byte
eBinary(ytes());
// boolean
eBoolean(true);
// null
eNull();
// float
eNumber(2.2f);
// char
eRaw("c");
// String
eRaw(str, 5, 10);
// String
eRawValue(str, 5, 5);
// String
eString(str);
eTree(Node(str));
tln();
// Object
eStartObject();// {
eObjectFieldStart("user");// user:
eStringField("name", "jackson");// name:jackson
eBooleanField("sex", true);// sex:true
eNumberField("age", 22);// age:22
eEndObject();
eArrayFieldStart("infos");// infos:[
eNumber(22);// 22
eString("this is array");// this is array
eEndArray();// ]
eEndObject();// }
User u = new User();
id(5);
name("tom");
pwd("123");
umber(3.44);
// complex Object
eStartObject();// {
eObjectField("uid", u);// user:{bean}
eObjectField("infos", arr);// infos:[array]
eEndObject();// }
} catch (Exception e) {
tStackTrace();
}
}
/**
* JSON字符串轉換為對象
*/
public static void readJson2Entity() {
String json = "{"uid":5,"uname":"tom","number":3.44,"upwd":"123"}";
try {
User acc = Value(json, s);
tln(id());
tln(acc);
} catch (JsonParseException e) {
tStackTrace();
} catch (JsonMappingException e) {
tStackTrace();
} catch (IOException e) {
tStackTrace();
}
}
/**
* JSON轉換為List對象
*/
public static void readJson2List() {
String json = "[{"uid":1,"uname":"www","number":234,"upwd":"456"},"
+ "{"uid":5,"uname":"tom","number":3.44,"upwd":"123"}]";
try {
List> list = Value(
json, s);
tln(());
for (int i = 0; i < (); i++) {
Map map = (i);
Set set = et();
for (Iterator it = ator(); ext();) {
String key = ();
tln(key + ":" + (key));
}
}
} catch (JsonParseException e) {
tStackTrace();
} catch (JsonMappingException e) {
tStackTrace();
} catch (IOException e) {
tStackTrace();
}
}
/**
* JSON轉換為數組對象
*/
public static void readJson2Array() {
String json = "[{"uid":1,"uname":"www","number":234,"upwd":"456"},"
+ "{"uid":2,"uname":"sdfsdf","number":4745,"upwd":"23456"}]";
try {
User[] arr = Value(json, User[]s);
tln(th);
for (int i = 0; i < th; i++) {
tln(arr[i]);
}
} catch (JsonParseException e) {
tStackTrace();
} catch (JsonMappingException e) {
tStackTrace();
} catch (IOException e) {
tStackTrace();
}
}
/**
* JSON轉換為Map對象
*/
public static void readJson2Map() {
String json = "{"success":true,"A":{"address": "address2","name":"haha2","id":2,"email":"email2"},"+
""B":{"address":"address","name":"haha","id":1,"email":"email"}}";
try {
Map> maps = Value(json, s);
tln(());
Set key = et();
Iterator iter = ator();
while (ext()) {
String field = ();
tln(field + ":" + (field));
}
} catch (JsonParseException e) {
tStackTrace();
} catch (JsonMappingException e) {
tStackTrace();
} catch (IOException e) {
tStackTrace();
}
}
public static void main(String[] args) {
user = new User();
id(5);
name("tom");
pwd("123");
umber(3.44);
objectMapper = new ObjectMapper();
try {
//jsonGenerator = sonFactory()teJsonGenerator(, 8);
// writeEntity2Json();
// writeMap2Json();
// writeList2Json();
// writeOthersJSON();
// readJson2Entity();
// readJson2List();
// readJson2Array();
readJson2Map();
} catch (Exception e) {
tStackTrace();
}
}
}
======================================
package ;
public class User {
private int uid;
private String uname;
private String upwd;
private double number;
public double getNumber() {
return number;
}
public void setNumber(double number) {
er = number;
}
public int getUid() {
return uid;
}
public void setUid(int uid) {
= uid;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
e = uname;
}
public String getUpwd() {
return upwd;
}
public void setUpwd(String upwd) {
= upwd;
}