Gson:
public class GsonTest {
static class Name { String first; String last; }
static class Data { int number; Name name = new Name(); }
public static void main(String[] args) {
Gson gson = new Gson();
Data data1 = new Data();
data1.number = 1;
data1.name.first = "Joe";
data1.name.last = "Smith";
print("data1", data1);
String jsonString = gson.toJson(data1);
System.out.println("jsonString: " + jsonString);
Data data2 = gson.fromJson(jsonString, Data.class);
print("data2", data2);
}
private static void print(String id, Data data) {
System.out.println(id + " :"
+ " number=" + data.number
+ " name.first=" + data.name.first
+ " name.last=" + data.name.last);
}
}
data1 : number=1 name.first=Joe name.last=Smith
jsonString: {"number":1,"name":{"first":"Joe","last":"Smith"}}
data2 : number=1 name.first=Joe name.last=Smith
Speed
Gson , Object ↔ Text , .
Bean
XStream () java.beans.XMLEncoder/XMLEncoder, Gson setter getter. , , Java (ObjectOutputStream ..). Gson JavaBeans, Gson .
JSON
GSON JSON . JSON, . , Gson :
Gson gson = new GsonBuilder().setPrettyPrinting().create();
JSON ( ) :
{
"number": 1,
"name": {
"first": "Joe",
"last": "Smith"
}
}
{"number":1,"name":{"first":"Joe","last":"Smith"}}