我有一個對象,我們只是把它爪哇 - 轉換對象映射用於JSON
class Foo {
String greeting = "Hello";
int age = 21;
}
,我想轉換成地圖狀"greeting" => "Hello", "age" => 21
這將被用來作爲參數在JSONSerializer.toJSON(arg)
像Perl和Python這樣的語言在這種交換方面非常出色。在Java中執行此操作的好方法是什麼?
我有一個對象,我們只是把它爪哇 - 轉換對象映射用於JSON
class Foo {
String greeting = "Hello";
int age = 21;
}
,我想轉換成地圖狀"greeting" => "Hello", "age" => 21
這將被用來作爲參數在JSONSerializer.toJSON(arg)
像Perl和Python這樣的語言在這種交換方面非常出色。在Java中執行此操作的好方法是什麼?
在序列化之前,您不需要進行此轉換。
Gson會直接使用你的對象,並使其成爲JSON映射。
使用此例如:
Gson gson = new GsonBuilder().create();
writer.write(gson.toJson(foo)); // foo is an instance of Foo
您可以使用Jackson直接序列化的POJO。開箱即可使用。
import java.io.Writer;
import java.io.StringWriter;
import org.codehaus.jackson.map.ObjectMapper;
Foo foo = new MyFoo("hello", 21);
ObjectMapper mapper = new ObjectMapper();
Writer writer= new StringWriter();
mapper.writeValue(writer, foo);
String json = writer.toString();
System.out.println(json);
這可以通過使用反射來實現http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/reflect/package-summary.html – VirtualTroll