Строка Java для JSON и наоборот - PullRequest
1 голос
/ 21 марта 2012

Я ищу способ преобразования строки в объект JSON и наоборот.

У меня есть строка с нотацией JSON в качестве значения. Мне нужно преобразовать это значение в объект JSON, чтобы получить конкретные данные из объектов JSON. После этого мне нужно преобразовать определенный объект (атрибут) JSON в атрибут JAVA.

Кто-нибудь знает, как этого добиться? Я знаю, что в Java есть import org.json.JSONObject;, который позволяет мне создавать JSONObjects, но я не могу понять, как преобразовать мою строку JSON в объект JSON.

Ответы [ 5 ]

2 голосов
/ 21 марта 2012

Вы можете использовать конструктор JSONObject

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

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

0 голосов
/ 17 мая 2014
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));
0 голосов
/ 21 марта 2012

Вы должны разобрать строку: Как разобрать JSON в Java

0 голосов
/ 21 марта 2012

Используя Джексона , вы можете сделать что-то вроде

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 , что также интуитивно понятно.

0 голосов
/ 21 марта 2012

Прочтите документацию .

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