JSON
指的是 JavaScript 對象表示法(JavaScript Object Notation)
javascript對象
:javascript中,除開JavaScript原始值(字符串,數字,布爾值,null,正則表達式)的都是javascript對象
JSON對象
:沒有JSON對象,可以理解為javascript對象
JSON字符串
:符合JSON語法格式的字符串
JSON格式:{“name”:“zhangsan”,“id”:1}
{"users":[{"name":"zhangsan","id":1},{"name":"lisi","id":2}]
}
JavaScript
// json字符串轉為js對象
var userObj = JSON.parse('{"c":"3","d":"4"}');
// js對象轉為json字符串
var userStr = JSON.stringify({a:'1',b:'2'});
Java
ObjectMapper mapper = new ObjectMapper();
// 關閉輸出為時間戳
mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,false);
// 指定日期的輸出格式
mapper.setDataFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
// 將對象轉為json字符串
mapper.writeValueAsString(new User(1,"zhangsan"));
fastjson
Fastjson
是阿里巴巴開發的一個 Java 庫,
可以將 Java 對象轉換為 JSON 格式,
也可以將 JSON 字符串轉換為 Java 對象。
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId>
</dependency>
// java對象 轉 json字符串
String userJson = JSON.toJSONString(user);
// json字符串 轉 java對象
User user = JSON.parseObject(userJson, User.class);
// java對象 轉 js對象
JSONObject jsonObject = (JSONObject) JSON.toJSON(user);
jsonObject.getString("name");
// js對象 轉 java對象
JSON.toJavaObject(jsonObject,User.class);