如何使用Jackson解析JSON示例
導語:為了方便大家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;
}
-
Java運算符
計算機的最基本用途之一就是執行數學運算,作為一門計算機語言,Java也提供了一套豐富的運算符來操縱變量。歡迎大家閲讀!更多相關信息請關注相關欄目!Java中的運算符和C/C++相差無幾。數學運算符數學運算,結果為一個數值。見下表:關係運算符關係運算符,結果為一個布爾...
-
Java基本元素詳解
生活呆以是甜的,也可以是苦的,但不能是沒味的。你可以勝利,也可以失敗,但你不能屈服,以下是小編為大家搜索整理了Java基本元素詳解,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!第二章基本元素第一章總結:一平台&JDK&JRE&JVM&A...
-
java語言運算符的使用
Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。下面小編整理了java語言運算符的使用,希望對大家有幫助!賦值運算符的使用=、+=、-=、*=、/=、%=算術運算符的使用算術運算就是咱們生活中常見的加、...
-
新手如何學習Java
Java作為一門高級編程語言在信息科技時代有着廣泛的應用。新手如何學習Java呢?下面小編來給大家介紹Java的學習方法,希望對大家有幫助!1理解Java思想Java是一門面向對象編程語言。向對象編程是Java最核心的思想,這也是區分和C等其他編程語言的一個顯著特徵。掌握...