1. 程式人生 > >js,java,json格式轉換

js,java,json格式轉換

 字元轉化為json物件時必須把字串編輯為json格式的字串才可以,否則訪問物件的屬性的時候報錯。

  • java和json轉化
  1. 轉化的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的轉化
  1. 首先先來看這樣一個例子來完成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字元