不幸的是,你必須使用外部庫引起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
傑克遜很好。絕對是我的首選JSON庫 –