JavaScript中json对象和string对象之间相互转化

json对象

  

复制代码 代码如下:

  var json = {aa:true,bb:true};

  var json1 = {aa:'b',bb:{cc:true,dd:true}};

  1:js操作json对象

  

复制代码 代码如下:

  for(var item in json){

  alert(item); //结果是 aa,bb, 类型是 string

  alert(typeof(item));

  alert(eval("json."+item)); //结果是true,true类型是boolean

  eval(("json."+item+"=false;")); //改变json对象的值

  }

  2:json对象转化为String对象的方法

  

复制代码 代码如下:

  /**

  * json对象转字符串形式

  */

  function json2str(o) {

  var arr = [];

  var fmt = function(s) {

  if (typeof s == 'object' && s != null) return json2str(s);

  return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s;

  }

  for (var i in o) arr.push("'" + i + "':" + fmt(o[i]));

  return '{' + arr.join(',') + '}';

  }

  3:string对象转化为json对象

  

复制代码 代码如下:

  function stringToJson(stringValue)

  {

  eval("var theJsonValue = "+stringValue);

  return theJsonValue;

  }

  4:json数组转化为 String对象的方法(要掉要上面那个方法)

  

复制代码 代码如下:

  function JsonArrayToStringCfz(jsonArray)

  var JsonArrayString = "[";

  for(var i=0;i<jsonArray.length;i++){

  JsonArrayString=JsonArrayString+JsonToStringCfz(jsonArray[i])+",";

  }

  JsonArrayString = JsonArrayString.substring(0,JsonArrayString.length-1)+"]";

  return JsonArrayString;

  }

  5:利用json.js json转string

  

复制代码 代码如下:

  <script src="json2.js"></script>

  <script>

  var date = {myArr : ["a" , "b" , "c" , "d"] , count : 4};

  var str = JSON.stringify(date);

  alert(str);

  </script>