0

私はオブジェクトを持っています、それを呼びましょう

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

のようなマップに変換したいということで"greeting" => "Hello", "age" => 21引数として使われますJSONSerializer.toJSON(arg)

Perl や Python などの言語は、この種のやり取りに非常に優れています。Javaでこれを行うための良い方法は何ですか?

4

2 に答える 2

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 に答える
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 に答える