JSON:对象到 JsonString - JsonString 到 X.class 对象
JSON: Object to JsonString - JsonString to X.class Object
我有一个名为 MediaList
的 class,我想将此 class 的值解析为 JSON-String 并向后解析。
public class KeywordList {
private List<Keyword> keywords = new ArrayList<>();
}
这里是 JSON-String:
{
"keywords": [
{
"id": 12,
"name": "Thesis",
"mediaCount": 31
}, ...
]
}
我正在使用 google lib gson,但我只想使用带有 jax-rs 的标准 java 版本,因为我不希望第 3 方工具出现在我的项目中。
JDK 本身不包含 JAX-RS 标准的实现,因此无论如何您都必须使用第三方库。
不幸的是,您必须使用外部库,因为 Java 默认情况下不能这样做。
尽管 Java 9
可能会改变,但从这些变化来看,我还没有看到 JSON 库中的构建内容。听说过,但没在里面看过。
您可以看到 here Java 9.
的所有新功能
您会找到您可能需要的库以及教程 here
在它存在之前,我们拥有令人惊叹的 Jackson 图书馆:
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);
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);
其中 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
}
完成教程here
我有一个名为 MediaList
的 class,我想将此 class 的值解析为 JSON-String 并向后解析。
public class KeywordList {
private List<Keyword> keywords = new ArrayList<>();
}
这里是 JSON-String:
{
"keywords": [
{
"id": 12,
"name": "Thesis",
"mediaCount": 31
}, ...
]
}
我正在使用 google lib gson,但我只想使用带有 jax-rs 的标准 java 版本,因为我不希望第 3 方工具出现在我的项目中。
JDK 本身不包含 JAX-RS 标准的实现,因此无论如何您都必须使用第三方库。
不幸的是,您必须使用外部库,因为 Java 默认情况下不能这样做。
尽管 Java 9
可能会改变,但从这些变化来看,我还没有看到 JSON 库中的构建内容。听说过,但没在里面看过。
您可以看到 here Java 9.
的所有新功能您会找到您可能需要的库以及教程 here
在它存在之前,我们拥有令人惊叹的 Jackson 图书馆:
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);
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);
其中 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
}
完成教程here