您的位置:首页 > Web前端 > JavaScript

JSON对象和字符串之间的相互转换

2014-05-24 09:30 501 查看
  比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象:

  
  var a={"name":"tom","sex":"男","age":"24"};

  var b='{"name":"Mike","sex":"女","age":"29"}';

  


  在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法。

  JSON.stringify(obj)将JSON转为字符串。JSON.parse(string)将字符串转为JSON格式;

  上面的转换可以这么写:

  
  var a={"name":"tom","sex":"男","age":"24"};

  var b='{"name":"Mike","sex":"女","age":"29"}';

  var aToStr=JSON.stringify(a);

  var bToObj=JSON.parse(b);

  alert(typeof(aToStr)); //string

  alert(typeof(bToObj));//object

  


  JSON.stringify()

  ie8(兼容模式),ie7和ie6没有JSON对象bjbzj.codeplex.com;

  shbjz.codeplex.com;

  tjbjz.codeplex.com;

  cqbjz.codeplex.com;

  hebbjz.codeplex.com;

  jlbjz.codeplex.com;

  sybjz.codeplex.com;

  dlbjz.codeplex.com;

  asbjz.codeplex.com;

  jnbjz.codeplex.com;

  qdbjz.codeplex.com;

  zbbjz.codeplex.com;

  dybjz.codeplex.com;

  ytbjz.codeplex.com;

  wfbjz.codeplex.com;

  tybjz.codeplex.com;

  xamjz.codeplex.com;

  sjzmt.codeplex.com;

  tsmt.codeplex.com;

  qhdmt.codeplex.com;

  lybjz.codeplex.com;

  zzmt.codeplex.com;

  whmt.codeplex.com;

  csbjz.codeplex.com;

  wxbjz.codeplex.com;

  njbjz.codeplex.com;

  szbjz.codeplex.com;

  nbbjz.codeplex.com;

  hzbjz.codeplex.com;

  fzbjz.codeplex.com;

  xmbjz.codeplex.com;

  kmbjz.codeplex.com;

  cdbjz.codeplex.com;

  hfbjz.codeplex.com;

  gybjz.codeplex.com;

  xzbjz.codeplex.com;

  ntbjz.codeplex.com;

  jsbjz.codeplex.com;

  zjbjz.codeplex.com;

  yzbjz.codeplex.com;

  ncbjz.codeplex.com;

  gzbjz.codeplex.com;

  szjzb.codeplex.com;

  zsbjz.codeplex.com;

  stbjz.codeplex.com;

  fsbjz.codeplex.com;

  lzbjz.codeplex.com;

  zhbjz.codeplex.com;

  hzmt.codeplex.com;

  ycbjz.codeplex.com;

  xnbjz.codeplex.com;

  whjz.codeplex.com;

  czmt.codeplex.com;

  bjbjz.codeplex.com;

  shmt.codeplex.com;

  tjjz.codeplex.com;

  cqjz.codeplex.com;

  hebjz.codeplex.com;

  jljz.codeplex.com;

  syjz.codeplex.com;

  dljz.codeplex.com;

  asjz.codeplex.com;

  jnjz.codeplex.com;

  qdjz.codeplex.com;

  zbjz.codeplex.com;

  dyjz.codeplex.com;

  ytjz.codeplex.com;

  wfjz.codeplex.com;

  tyjz.codeplex.com;

  xajz.codeplex.com;

  sjbjz.codeplex.com;

  tsjz.codeplex.com;

  qhbjz.codeplex.com;

  lyjz.codeplex.com;

  zzjz.codeplex.com;

  whbz.codeplex.com;

  csjz.codeplex.com;

  wxjz.codeplex.com;

  njjz.codeplex.com;

  szjz.codeplex.com;

  nbjz.codeplex.com;

  hzjz.codeplex.com;

  fzjz.codeplex.com;

  xmjz.codeplex.com;

  kmjz.codeplex.com;

  cdjz.codeplex.com;

  hfjz.codeplex.com;

  gyjz.codeplex.com;

  xzjz.codeplex.com;

  ntjz.codeplex.com;

  jhjz.codeplex.com;

  zjjz.codeplex.com;

  yzjz.codeplex.com;

  ncjz.codeplex.com;

  gzjz.codeplex.com;

  szgjz.codeplex.com;

  zsjz.codeplex.com;

  stjz.codeplex.com;

  fsjz.codeplex.com;

  lzjz.codeplex.com;

  zhjz.codeplex.com;

  fzmjz.codeplex.com;

  ycjz.codeplex.com;

  xnjz.codeplex.com;

  whmjz.codeplex.com;

  czjz.codeplex.com;

  ,不过http://www.json.org/提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;你可以在https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js。

  ie8(兼容模式),ie7和ie6可以使用eval()将字符串转为JSON对象,

  
  var c='{"name":"Mike","sex":"女","age":"29"}';

  var cToObj=eval("("+c+")");

  alert(typeof(cToObj));

  


  jQuery中也有将字符串转为JSON格式的方法jQuery.parseJSON( json ),接受一个标准格式的 JSON 字符串,并返回解析后的 JavaScript (JSON)对象。当然如果有兴趣可以自己封装一个jQuery扩展,jQuery.stringifyJSON(obj)将JSON转为字符串。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: