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

 更新时间:2012年12月26日 10:44:38   作者:  
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>

相关文章

  • JS中new Date().Format("yyyy-MM-dd") 报错的解决

    JS中new Date().Format("yyyy-MM-dd") 报错的解决

    这篇文章主要介绍了JS中new Date().Format("yyyy-MM-dd") 报错的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • 新增加的内容是如何将div的scrollbar自动移动最下面

    新增加的内容是如何将div的scrollbar自动移动最下面

    在做动态增长的div时,一般都是将内容append到div的最下面,但这会带来一个比较蛋疼的问题,那就是新增加的内容会被遮在最下面,具体实现如下,感兴趣的朋友可以参考下
    2014-01-01
  • Bootstrap一款超好用的前端框架

    Bootstrap一款超好用的前端框架

    Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,用于开发响应式布局、移动设备优先的 WEB 项目。接下来通过本文给大家分享Bootstrap一款超好用的前端框架,感兴趣的朋友一起看看吧
    2017-09-09
  • JS canvas实现画板和签字板功能

    JS canvas实现画板和签字板功能

    这篇文章主要为大家详细介绍了JS canvas实现画板和签字板功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-02-02
  • javascript两种function的定义介绍及区别说明

    javascript两种function的定义介绍及区别说明

    javascript两种function的定义方式function a(){}和a=function(){}具体使用如下,感兴趣的朋友可以参考下,希望对你对你学习function的定义有所帮助
    2013-05-05
  • JS上传前预览图片实例

    JS上传前预览图片实例

    上传图片对图片进行一下预览,可以了解图片上传后大概会是什么样子,此功能用js实现,然后在fileupload控件的change事件中调用,这样当用fileupload选择完图片以后,图片就会自动显示出来了。功能很简单,却很实用。
    2013-03-03
  • 微信小程序实现文件预览

    微信小程序实现文件预览

    这篇文章主要为大家详细介绍了微信小程序实现文件预览,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • IONIC自定义subheader的最佳解决方案

    IONIC自定义subheader的最佳解决方案

    本文重点给大家介绍IONIC自定义subheader的最佳解决方案,本文实例讲解,介绍的非常详细,感兴趣的朋友一起看看吧
    2016-09-09
  • 自己动手写的javascript前端等待控件

    自己动手写的javascript前端等待控件

    等待控件在网上搜有好多种,但是都很复杂,不一定用的顺手,再说我的项目是bootstrap的原因,又不敢轻易使用第三方控件,怕不兼容,于是自己动手写了个等待控件,有需要的朋友可以参考下
    2015-10-10
  • Bootstrap模态框(modal)垂直居中的实例代码

    Bootstrap模态框(modal)垂直居中的实例代码

    这篇文章主要介绍了Bootstrap模态框(modal)垂直居中的实例代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-08-08

最新评论