jQuery处理json数据返回数组和输出的方法

  本文实例讲述了jQuery处理json数据返回数组和输出的方法。分享给大家供大家参考。具体实现方法如下:

  

复制代码 代码如下:
/*print the json object

  *

  *$("selector").print_r_json(json,opts) : return formatted string (and print)

  *sprint_r_json : just return the string;

  *print_r_json : return the formatted string and print json data

  *contribute 明河

  *

  *auth iorichina

  *

  *example:

  *3 ways to use it

  *<script language="javascript">

  *$("selector").print_r_json({"a":"aa","d":{"ef":{"a":"d","d":["a","b"]},"ed":"dd"},"g":"g"},{if_print:true,return_array:true});

  *document.write($.sprint_r_json({"a":"aa","d":{"ef":{"a":"d","d":["a","b"]},"ed":"dd"},"g":"g"}));

  *$.print_r_json({"a":"aa","d":{"ef":{"a":"d","d":["a","b"]},"ed":"dd"},"g":"g"});

  *</script>

  *

  */

  $.fn.print_r_json = function(json,options){

  if(typeof(json)!="object") return false;

  var opts = $.extend({},$.fn.print_r_json.defaults,options);

  var data = '';

  if(opts.if_print)

  {

  data = $.sprint_r_json(json)

  $(this).html('<div style="font-weight:bold">'+(opts.return_array?'Array':'JSON-DATA')+'</div>'+data);

  }

  if(opts.array)

  {

  return $.json_to_array(json);

  }

  return data;

  };

  $.fn.print_r_json.defaults =

  {

  if_print : false,//if print or just return formatted string

  return_array : true //return an Array

  };

  $.extend({

  print_r_json : function(json)

  {

  if(typeof(json)=="object")

  {

  var text='<div style="font-weight:bold;">{</div><div style="margin-left:25px;">';

  document.write('<div style="font-weight:bold;">{</div><div style="margin-left:25px;">');

  for(var p in json)

  {

  if(typeof(json[p])=="object")

  {

  document.write('<div>["'+p+'"] => ');

  text+='<div>["'+p+'"] => '+$.print_r_json(json[p])+'</div>';

  document.write('</div>');

  }

  else

  {

  text+='<div>['+((/^\d+$/).test(p)?p:('"'+p+'"'))+'] => "'+json[p]+'"</div>';

  document.write('<div>['+p+'] => '+json[p]+'</div>');

  }

  }

  text+='</div><div style="font-weight:bold;">}</div>';

  document.write('</div><div style="font-weight:bold;">}</div>');

  return (text);

  }

  else

  {

  document.write(json);

  return (json);

  }

  },

  sprint_r_json : function(json)

  {

  if(typeof(json)=="object")

  {

  var text = '<div style="font-weight:bold;">{</div><div style="margin-left:25px;">';

  for(var p in json)

  {

  if(typeof(json[p])=="object")

  {

  text += '<div>["'+p+'"] => '+$.sprint_r_json(json[p])+'</div>';

  }

  else

  {

  text += '<div>['+((/^\d+$/).test(p)?p:('"'+p+'"'))+'] => "'+json[p]+'"</div>';

  }

  }

  text += '</div><div style="font-weight:bold;">}</div>';

  return (text);

  }

  else

  {

  return (json);

  }

  },

  json_to_array : function(json)

  {

  if(typeof(json)=="object")

  {

  var text = new Array();

  for(var p in json)

  {

  if(typeof(json[p])=="object")

  {

  text[p] = $.json_to_array(json[p]);

  }

  else

  {

  text[p] = json[p];

  }

  }

  return (text);

  }

  else

  {

  return (json);

  }

  }

  });

  希望本文所述对大家的jQuery程序设计有所帮助。