JSON:JsonString的对象 - JsonString到X.class对象

Len*_*Boy 1 java json jax-rs java-ee-7

我有一个被调用的类MediaList,我想用JSON-String和向后解析这个类的值.

public class KeywordList {
       private List<Keyword> keywords = new ArrayList<>();
}
Run Code Online (Sandbox Code Playgroud)

这里是JSON-String:

{
    "keywords": [
        {
            "id": 12,
            "name": "Thesis",
            "mediaCount": 31
        }, ...
    ]
}
Run Code Online (Sandbox Code Playgroud)

我正在使用谷歌lib gson,但我只是想使用标准的java版本与jax-rs,因为我不希望第三方工具在我的项目中.

GOX*_*LUS 5

不幸的是你必须使用外部库,因为Java默认不能这样做.

虽然这可能会改变,Java 9但从变化看,我没有看到JSON库中的构建.我听说但我没有在里面看到它.

您可以在这里看到Java 9的所有新功能.

您将找到您可能需要的库以及此处的教程

直到它存在,我们有惊人的杰克逊图书馆:

1.1将Java对象转换为JSON,writeValue(...)

ObjectMapper mapper = new ObjectMapper();
Staff obj = new Staff();

//Object to JSON in file
mapper.writeValue(new File("c:\\file.json"), obj);

//Object to JSON in String
String jsonInString = mapper.writeValueAsString(obj);
Run Code Online (Sandbox Code Playgroud)

1.2将JSON转换为Java对象,readValue(...)

ObjectMapper mapper = new ObjectMapper();
String jsonInString = "{'name' : 'mkyong'}";

//JSON from file to Object
Staff obj = mapper.readValue(new File("c:\\file.json"), Staff.class);

//JSON from URL to Object
Staff obj = mapper.readValue(new URL("http://mkyong.com/api/staff.json"), Staff.class);

//JSON from String to Object
Staff obj = mapper.readValue(jsonInString, Staff.class);
Run Code Online (Sandbox Code Playgroud)

在哪里Staff:

 import java.math.BigDecimal;    import java.util.List;
 public class Staff { 
     private String name; 
     private int age; 
     private String position; 
    private BigDecimal salary; 
    private List<String> skills; 
    //getters and setters 
}
Run Code Online (Sandbox Code Playgroud)

在这里完成教程