0

我有一个对象,我们就叫它吧

class Foo {
    String greeting = "Hello";
    int age = 21;
}

我想转换为这样的地图,"greeting" => "Hello", "age" => 21这将用作参数JSONSerializer.toJSON(arg)

Perl 和 Python 等语言非常擅长这种交换。在 Java 中执行此操作的好方法是什么?

4

2 回答 2

1

您不需要在序列化之前进行此转换。

Gson 将直接使用您的对象并使其成为 JSON 映射。

使用这个例如:

Gson gson = new GsonBuilder().create();
writer.write(gson.toJson(foo)); // foo is an instance of Foo
于 2012-05-22T16:14:43.733 回答
1

您可以直接使用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);
于 2012-05-22T16:23:47.293 回答