将json字符串转换为Java Map(JSONLib)

Le_*_*eur 13 java json json-lib

如何使用JSON-lib(http://json-lib.sourceforge.net/)将json字符串转换为Java Map?我可以转换为DynaBean:

JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON( str );  
DynaBean bean = (DynaBean) JSONSerializer.toJava( jsonObject );  
Run Code Online (Sandbox Code Playgroud)

但我还没有找到一种直接转换为Java Map的方法

编辑:

我找到了解决方案:

JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON( str );
Map<String, Object> myMap = (Map<String, Object>) JSONObject.toBean(jsonObject, Map.class)
Run Code Online (Sandbox Code Playgroud)

Pro*_*uce 21

另一种方法是采取的事实优势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);
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 请注意,这个答案对org.json.JSONArray无效! (3认同)