Java字符串到JSON,反之亦然

时间:2012-03-21 16:13:12

标签: java string json org.json

我正在寻找一种将String转换为JSON对象的方法,反之亦然。

我有一个带有JSON表示法的String作为值。我需要将此值转换为JSON对象,以便从JSON对象中获取特定数据。 Afterwarts,我需要将特定的JSON对象(属性)转换为JAVA属性。

有谁知道如何实现这一目标?我知道Java有import org.json.JSONObject;,它使我能够创建JSONObjects,但我无法弄清楚如何将我的JSON字符串转换为JSON对象。

5 个答案:

答案 0 :(得分:2)

您可以使用JSONObject构造函数

public JSONObject(java.lang.String source) throws JSONException

http://www.json.org/javadoc/org/json/JSONObject.html#JSONObject%28java.lang.String%29

答案 1 :(得分:0)

Read the documentation

String json = ....
JSONObject jsonObject = new JSONObject(json);

答案 2 :(得分:0)

你必须解析字符串: How to Parse JSON in Java

答案 3 :(得分:0)

使用Jackson,您可以执行类似

的操作
ObjectMapper mapper = new ObjectMapper();
MyObject result = mapper.readValue( myString, MyObject.class );

如果您没有对象映射,则可以将其映射到类。

ObjectMapper mapper = new ObjectMapper();
Map<String, Object> mymap = mapper.readValue( myString, Map.class );

如果您不想使用杰克逊,可以查看gson,这同样直观。

答案 4 :(得分:0)

objectMapper.writeValue(new File("c:\\employee.json"), employee);

   // display to console
   Object json = objectMapper.readValue(
     objectMapper.writeValueAsString(employee), Object.class);

   System.out.println(objectMapper.writerWithDefaultPrettyPrinter()
     .writeValueAsString(json));