js,java,json格式轉換
阿新 • • 發佈:2018-12-21
字元轉化為json物件時必須把字串編輯為json格式的字串才可以,否則訪問物件的屬性的時候報錯。
- java和json轉化
- 轉化的jar包很多有很多種方式,這裡以com.alibaba.fastjson為例(個人比較喜歡,方便,語義化強)
// Fastjson API入口類是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON類上的靜態方法直接完成。 // public static final Object parse(String text); // 把JSON文字parse為JSONObject或者JSONArray // public static final JSONObject parseObject(String text); // 把JSON文字parse成JSONObject // public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文字parse為JavaBean // public static final JSONArray parseArray(String text); // 把JSON文字parse成JSONArray // public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文字parse成JavaBean集合 // public static final String toJSONString(Object object); // 將JavaBean序列化為JSON文字 // public static final String toJSONString(Object object, boolean prettyFormat); // 將JavaBean序列化為帶格式的JSON文字 // public static final Object toJSON(Object javaObject); 將JavaBean轉換為JSONObject或者JSONArray(和上面方法的區別是返回值是不一樣的)
- js和json的轉化
-
首先先來看這樣一個例子來完成js字串(在這裡也指的是json字串,也可以叫json格式的js字串)和json物件之間的轉化,這是瀏覽器支援的轉換方式
var str = '1,2,3,4,巴德,merge'; var arr = str.split(','); var strify = JSON.stringify(arr); console.log(arr); // ["1", "2", "3", "4", "巴德", "merge"] 陣列 console.log(arr[4]); // 巴德 console.log(strify); // ["1", "2", "3", "4", "巴德", "merge"] 字串 var arrParse = JSON.parse(strify); console.log(arrParse); // ["1", "2", "3", "4", "巴德", "merge"] 陣列
2. 接下來看看其它轉化的方法
$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以將json字串轉換成json物件
eval('(' + jsonstr + ')'); //可以將json字串轉換成json物件(不安全,表示式會被載入)
var
str=obj.toJSONString();
//將JSON物件轉化為JSON字元