Если в Java требуется работать с форматом JSON (например, на JSP странице для отправки данных JavaScript-скрипту), то можно воспользоваться очень удобной библиотекой - org.json (http://www.json.org/java/). Библиотека позволяет быстро создавать строки с JSON-данными, парсить строки с JSON-данными в Java-объекты, и даже преобразовывать XML в JSON. Например:
JSONObject myObj = new JSONObject();выведет:
myObj.put("key1", "val1");
myObj.put("key2", "val2");
myObj.put("key3", "val3");
JSONArray myArr = new JSONArray();
myArr.put("a");
myArr.put("b");
myArr.put("c");
myObj.put("key4",myArr);
System.out.println(myObj.toString());
{"key4":["a","b","c"],"key3":"val3","key2":"val2","key1":"val1"}
И наоборот:
String jsonStr = "{\"key4\":[\"a\",\"b\",\"c\"],\"key3\":\"val3\",\"key2\":\"val2\",\"key1\":\"val1\"}";
JSONObject myParsedObj = new JSONObject(jsonStr);
JSONArray myParsedArr = (JSONArray)myParsedObj.get("key4");
System.out.println(myParsedArr.get(2));
выведет символ "c".
Метод XML.toJSONObject(String) разбирает переданный XML и преобразует его естественным образом в JSON (вложенные теги становятся вложенными объектами, несколько соседних тегов с одним именем превращаются в массив), так, например, вызов:
System.out.println(XML.toJSONObject("<a><b>1</b><b>2</b><b>3</b><c><d>45</d></c></a>").toString());
выдаст:
{"a":{"b":[1,2,3],"c":{"d":45}}}
Также возможно и обратное преобразование.
Для представления NULL в методах put используется JSONObject.NULL.
Объекты JSONObject можно конструировать из любых объектов, поддерживающих интерфейс Map<K,V>, а JSONArray - List<T>.
Для представления NULL в методах put используется JSONObject.NULL.
Объекты JSONObject можно конструировать из любых объектов, поддерживающих интерфейс Map<K,V>, а JSONArray - List<T>.
Комментариев нет:
Отправить комментарий