js中json字符串对象互转的例子

json对象,json字符串,不注意的话,很容易忽视混淆。例举几个容易混的情况

1,php将变量放到input框中,通过js去读取出来的是json字符串,要想使用就要将json字段串转成json对象
2,ajax返回json数据,如果请求没有设置dataType为json,这个时候得到也是json字符串
3,通过js改变input的value值,如果直接json对象,赋值的话,用开发者工具看到的值会是这样的,[Object Object]

一,json字符串,json对象区别

var aa = '{"test":1,"test1":2}'; 
var bb = {"test":1,"test1":2}; 
 
console.log(bb);   //结果为 Object { test=1,  test1=2} 
console.log(aa);   //结果为 {"test":1,"test1":2} 

区别就是,一个是对象,一个是字符串,哈哈。

二,json字符串转json对象

var obj = eval('(' + aa + ')');     //方法1 
var obj = JSON.parse(aa);         //方法2 

三,json对象转json字符串

var last=JSON.stringify(obj); 
上面的转换,我只加载了,jquery

例子

<!DOCTYPE html> 
<html> 
<head> 
    <title>json-demo</title> 
</head> 
<body> 
    <textarea id="textarea1" value="" style="width: 500px;height: 300px;"></textarea> 
</body> 
    <script type="text/javascript" src="jquery-1.9.1.min.js"></script> 
    <script type="text/javascript" src="json2.js"></script> 
    <script type="text/javascript"> 
    <!-- 
        $(document).ready(function(){ 
            test1(); 
        }); 
        function test1(){ 
            //  简单字符串转换为json对象 
            var str = '{ "label": "aa", "value": "bb" }'; 
            var obj = JSON.parse(str); 
            show(obj.label); 
            // 较复杂的json字符串书写格式 
            var str2 = '{' + 
                    '"chart":{' + 
                        '"xAxisName":"dd",' + 
                        '"yAxisName":"ee"' + 
                    '},"data":[]' + 
                '}'; 
            var obj2 = JSON.parse(str2); 
            // 查找json对象 
            show(obj2.chart.xAxisName); 
            // 修改json对象 
            obj2.chart.xAxisName = "dddd"; 
            show(obj2.chart.xAxisName); 
            // 删除json对象 
            delete obj2.chart.xAxisName; 
            show(obj2.chart.xAxisName); 
            var elemSet; 
            // js操作json对象 
            for(var i=0; i<2 ;i++){ 
                elemSet = {"label":i*2,"value":i*10,"color":"76A5DB"}; 
                // 增加json对象中的data集合元素 
                obj2.data.push(elemSet); 
            } 
            show(obj2.data[0].label+','+obj2.data[0].value+','+'obj2.data[0].color'); 
            // 将json对象转换为字符串 
            show(JSON.stringify(obj2)); 
        } 
        function show(text){ 
            var input = $('#textarea1').val(); 
            input += '---' + text + '\n'; 
            $('#textarea1').val(input); 
        } 
    --> 
    </script> 
</html> 

注:依赖jquery.js和json2.js。
运行效果:

---aa
---dd
---dddd
---undefined
---0,0,obj2.data[0].color
---{"chart":{"yAxisName":"ee"},"data":[{"label":0,"value":0,"color":"76A5DB"},{"label":2,"value":10,"color":"76A5DB"}]}

时间: 2024-08-02 18:15:06

js中json字符串对象互转的例子的相关文章

JS中JSON对象和String之间的互转及处理技巧_javascript技巧

JSON:JavaScript 对象表示法(JavaScript Object Notation),其实JSON就是一个JavaScript的对象(Object)而已. 如有不清楚JSON,可以去w3cschool了解http://www.w3school.com.cn/json/ 1.在javascript中新建一个字符串(JSON文本). var txt = '{ "employees" : [' + '{ "firstName":"Bill"

JS遍历Json字符串中键值对先转成JSON对象再遍历_javascript技巧

1.将Json字符串转换成JSON对象 var t='{"firstName": "cyra", "lastName": "richardson"}'; var obj = eval('(' + t + ')'); 2.遍历读取键值对 for(var str in obj){ alert(str+'='+obj[str]); } 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使

Java中JSON字符串与java对象的互换实例详解_java

在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好,下面先看下JSON的格式, JSON可以有两种格式,一种是对象格式的,另一种是数组对象, {"name":"JSON","address":"北京市西城区","age":25}//JSON的对象格式的字符串 [

Java中Json字符串直接转换为对象的方法(包括多层List集合)_java

使用到的类:net.sf.json.JSONObject  使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-beanutils.jar,commons-httpclient.jar,commons-lang.jar,ezmorph.jar,morph-1.0.1.jar 下面是例子代码: // JSON转换 JSONObject jsonObj = JSONObject.fromObject(jsonSt

JS中Json数据的处理和解析JSON数据的方法详解_javascript技巧

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C.C++.C#.Java.JavaScript.Perl.Python等).这些特性使JSON成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). JSON的规则很简单: 对象是一个无序的"'名称/值'对"集合.一个对象以&quo

js android-android 中无法定义js中的复杂对象

问题描述 android 中无法定义js中的复杂对象 下面是微信提供一个查看图片的接口,实现方式应该就是在android中使用addJavascriptInterface方法 WeixinJSBridge.invoke('imagePreview', { 'current' : dsrc, 'urls' : imgsSrc[gid] }); 问题如下 // for image review webView.addJavascriptInterface(new Object(){ @android

JS中判断字符串中出现次数最多的字符及出现的次数的简单实例_javascript技巧

JS中判断字符串中出现次数最多的字符及出现的次数的简单实例 <script type="text/javascript"> var str = 'qwertyuilo.,mnbvcsarrrrrrrrtyuiop;l,mhgfdqrtyuio;.cvxsrtyiuo'; var json = {}; //遍历str拆解其中的每一个字符将其某个字符的值及出现的个数拿出来作为json的kv for (var i = 0; i < str.length; i++) { //

js中实现字符串和数组的相互转化详解_javascript技巧

         最近看了一道JS的面试题,是这样描述的:利用var s1=prompt("请输入任意的字符串","")可以获取用户输入 的字符串,试编程将用户输入的字符串"反转",并且将字符串输出.         想了一下,字符串对象的方法中并没有实现反转的,但是数组中有,于是考虑了字符串和数组的相互转换问题.         JS中的内置对象中包括字符串对象(String)和数组对象(Array),这两个对象是可以通过它们对象的方法实现相互

js中遍历Map对象的简单实例_javascript技巧

实例如下: console.log(jsonData);//火狐控制台打印输出: Object { fileNumber="文件编号", fileName="文件名称"} for(var key in jsonData) console.log("属性:" + key + ",值:"+ jsonData[key]); } 打印输出: 属性:fileNumber, 值:文件编号 属性:fileName, 值:文件名称 以上这篇j