Преобразовать строку json в карту Java (JSONLib) - PullRequest
12 голосов
/ 12 июня 2011

Как я могу преобразовать строку json в Java Map, используя JSON-lib (http://json -lib.sourceforge.net /)?Я могу конвертировать в DynaBean:

JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON( str );  
DynaBean bean = (DynaBean) JSONSerializer.toJava( jsonObject );  

, но я не нашел способа напрямую конвертировать в Java Map

Редактировать:

У меня естьнашел решение:

JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON( str );
Map<String, Object> myMap = (Map<String, Object>) JSONObject.toBean(jsonObject, Map.class)

1 Ответ

21 голосов
/ 13 июня 2011

Другой подход заключается в том, чтобы воспользоваться тем, что JSONObject реализует java.util.Map.Итак, - это карта.

import java.util.Map;

import net.sf.json.JSONObject;

public class Foo
{
  static String json = "{\"one\":\"won\",\"two\":2,\"three\":false}";

  public static void main(String[] args)
  {
    JSONObject jsonObject = JSONObject.fromObject(json);
    Map map = jsonObject;
    System.out.println(map);
  }
}
...