私はオブジェクトを持っています、それを呼びましょう
class Foo {
String greeting = "Hello";
int age = 21;
}
のようなマップに変換したいということで"greeting" => "Hello", "age" => 21引数として使われますJSONSerializer.toJSON(arg)
Perl や Python などの言語は、この種のやり取りに非常に優れています。Javaでこれを行うための良い方法は何ですか?
私はオブジェクトを持っています、それを呼びましょう
class Foo {
String greeting = "Hello";
int age = 21;
}
のようなマップに変換したいということで"greeting" => "Hello", "age" => 21引数として使われますJSONSerializer.toJSON(arg)
Perl や Python などの言語は、この種のやり取りに非常に優れています。Javaでこれを行うための良い方法は何ですか?
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);
シリアル化の前にこの変換を行う必要はありません。
Gson はオブジェクトを直接使用し、JSON マップにします。
たとえば、これを使用します。
Gson gson = new GsonBuilder().create();
writer.write(gson.toJson(foo)); // foo is an instance of Foo