2012-05-22 2 views
0
내가 개체가

에 사용하기 위해 매핑 개체를 변환자바 - 그냥 그것을 부르 자, JSON

내가 JSONSerializer.toJSON(arg)

에서 인수로 사용됩니다 "greeting" => "Hello", "age" => 21이 같은지도로 변환 할
class Foo { 
    String greeting = "Hello"; 
    int age = 21; 
} 

Perl 및 Python과 같은 언어는 이러한 종류의 상호 교환에 매우 뛰어납니다. Java에서이 작업을 수행하는 좋은 방법은 무엇입니까?

+0

이 반사를 사용하여 달성 할 수 http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/reflect/package-summary.html – VirtualTroll

답변

1

이 변환을 직렬화하기 전에 수행 할 필요는 없습니다.

Gson은 개체를 직접 사용하여 JSON 맵으로 만듭니다. 예를 들어

사용이 :

Gson gson = new GsonBuilder().create(); 
writer.write(gson.toJson(foo)); // foo is an instance of Foo 
1

당신은 POJO를을에는 직렬화 직접 Jackson를 사용할 수 있습니다. 상자에서 실제로 잘 작동합니다.

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); 
관련 문제