不创建类的JSON到Java对象(PHP方式)

bbn*_*bnn 2 php java json object

我正在处理从 twitter API 获取的 json 数据

在 PHP 上,我通常会执行以下操作:

$data = json_decode($response); 并且$data将是 STD 类对象

我想在 Java 中做同样的事情。

我看了一下 Gson,但我需要第二个参数,似乎我需要为获取的数据创建一个特定的类。

基本问题是如何将 JSON 转换为标准 Java 对象,如 PHP(STD 类对象)

谢谢你

dig*_*oel 5

使用 Jackson 将其读入地图,然后您就可以访问您想要的任何数据。例如,如果您的 json 看起来像这样

{ "name":"blah",
  "address": {
    "line1": "1234 my street",
    "city": "my city",
    "state": "my state"
  }
}
Run Code Online (Sandbox Code Playgroud)

那么你可以:

ObjectMapper mapper = new ObjectMapper();
Map<String, Object> mystuff = mapper.readValue( jsonString, Map.class );
String name = (String)mystuff.get("name");
String city = ((Map<String, Object>)mystuff.get( "address" )).get( "city" );
Run Code Online (Sandbox Code Playgroud)