`
weitao1026
  • 浏览: 1059888 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

js中的json对象详细介绍

 
阅读更多
字符串转对象(strJSON代表json字符串)
   var obj = eval(strJSON);
   var obj = strJSON.parseJSON();
   var obj = JSON.parse(strJSON);
json对象转字符串(obj代表json对象)
   var str = obj.toJSONString();
   var str = JSON.stringify(obj)
运用时候需要除了eval()以外需要json.js包(切记哦)




在开发的过程中,如果对于少量参数的前后台传递,可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,这样后台

接受的时候Request多个很麻烦,此时要按照类的格式或者 集合的形式进行传递。


例如:前台按类的格式传递JSON对象:

var jsonUserInfo = "{\"TUserName\":\"" + userName + "\",\"TInterest\":\"" + interest + "\",\"TSex\":\"" + sex + "\",\"TCity\":\"" + city + "\",\"TDetail\":\"" + detail + "\"}";

如拼出的jsonUserInfo 无转义符号,需要var jsonArrayFinal = JSON.stringify(jsonArray);进行转换后再传递。


复制代码 代码如下:


$.ajax(
                    {
                        type: "post",
                        url: "ReceiveHandler1.ashx",
                        data: { userInfo: jsonUserInfo, flag: "123456", key: "654321" },
                        dataType: "text",
                        success: function(data) {
                            $("#divShow").html(data);
                        }
});


如果前台传递多个类格式的JSON数组,也就是集合类型:

例如:

[{"name":"a"},{"name","b"},{"name","c"}],则无法传递,此时必须使用JSON.stringify将数组对象转换成字符串,再进行AJAX传递即可。

比如我有两个变量,我要将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对象,不过http://www.json.org/js.html提供了一个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转为字符串。
分享到:
评论

相关推荐

    JS中Json对象

    ### JS中Json对象 #### JSON概述 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON是基于JavaScript的一个子集,采用完全独立于编程语言的文本...

    js中的json对象和字符串之间的转化

    虽然描述为空,但我们可以推断,这个博客可能详细介绍了如何在JavaScript中进行JSON对象与字符串的转化操作,以及在实际应用中的重要性。 **标签中的知识点:** 1. **源码**:这可能意味着博客可能包含了实际的...

    javascript对象转换成json

    - 如果对象中有循环引用(即一个对象引用了另一个,而另一个又引用了第一个),`JSON.stringify()`会抛出一个错误。 - 当使用`replacer`函数时,可以通过返回undefined来排除某个属性不被包含在JSON字符串中。 ### ...

    json2.js 字符串转转json对象工具

    总的来说,json2.js是解决JSON处理兼容性问题的一个工具,它提供了一种安全且标准化的方式来在JavaScript中进行JSON字符串与对象之间的转换,尤其对于那些不支持原生JSON操作的老版本浏览器而言。

    使用JQuery实现从JSON对象转换为form提交数据

    - JSON对象中的嵌套对象和数组需要特殊处理,不能直接转换为URL编码的字符串。对于嵌套的对象,可以递归地调用`jsonToFormParams()`;对于数组,可以考虑将其转换为逗号分隔的字符串或者多个同名的键。 - 在实际...

    asp输出json对象实例

    在JavaScript中,JSON对象可以通过`JSON.parse()`方法从JSON字符串转换而来,而在ASP中,我们可能需要使用类似的逻辑,但可能需要自定义函数来实现这个过程。 标签"asp json"表明这个实例是关于如何在ASP中操作和...

    js页面字符串转json对象

    js页面字符串转json对象

    json比对js插件

    在JavaScript中,这样的库通常提供API接口,允许开发者传入两个JSON对象,然后返回一个表示差异的JSON对象或数组。 使用这类插件的一般步骤包括: 1. 导入jsondiff库到项目中。 2. 解析或创建需要比较的JSON对象。...

    javascript中json对象长度.pdf

    javascript中json对象长度.pdf

    javascript中json对象长度.docx

    javascript中json对象长度.docx

    纯javascript实现json与对象的互相转换项目

    JSON是一种文本格式,主要由键值对组成,键用双引号包围,值可以是字符串、数字、布尔值、数组、null或者另一个JSON对象。例如: ```json { "name": "John", "age": 30, "city": "New York" } ``` 在这个项目中...

    经典ASP读取JSON字符串/生成JSON对象,数组对象等。

    这篇关于“经典ASP读取JSON字符串/生成JSON对象,数组对象等”的知识将详细介绍如何在ASP环境中处理JSON数据。 1. **JSON对象与数组的结构**: JSON对象以大括号{}表示,键值对之间用逗号分隔。键必须是字符串,用...

    javascript处理json字符串和json对象的类(含示例)

    下面我们将详细讨论如何在JavaScript中处理JSON字符串和JSON对象。 一、JSON字符串转换为JSON对象 在JavaScript中,可以使用`JSON.parse()`方法将一个JSON格式的字符串转换为JavaScript对象。这个方法接收一个JSON...

    asp字符串转json对象类

    本知识点主要关注如何将ASP中的字符串转换为JSON对象,特别地,这个过程是通过原生的VBScript(Visual Basic Script)实现的,而不是依赖于第三方库。 首先,我们需要理解VBScript中的JSON解析概念。由于ASP.NET...

    javascript json对象数组排序

    javascript中实现对象数组的排序功能 只要数组中的对象存在多个属性,即可传入sql语句排序形式的参数,加以排序,如传入'col1 desc,col2 asc' 就可以实现对数组中对象通过col1倒序排列,如果col1值相同,则通过col2排序,...

    js将excel转化成json 对象

    在前端开发中,有时我们需要处理来自用户上传的Excel文件数据,并将其转化为JSON对象以便进一步处理或与后端交互。这个过程通常涉及到文件读取、数据解析以及格式转换。以下是一些关于如何使用JavaScript实现这一...

    json对象转换兼容js

    在早期版本的Internet Explorer(如IE7和IE6)中,JSON对象并不是内置的。为了实现兼容,开发者需要引入外部库,如`json2.js`。`json2.js`是由Douglas Crockford编写的,它为不支持JSON的浏览器提供了`JSON....

    javascript处理json字符串和json对象的类(含示例,最终版本)

    javascript处理json字符串和json对象的类。 可以把json对象转换成字符串, 也可以把json格式的字符串转换成json对象。 上一个版本有一个小问题,修改了。这是最终版本。 含有演示例子。

    JSON工具,JS中JSON对象的序列化与反序列化

    比如下面的JS对象 var user=new Object(); user.name='吕洞宾'; user.friends=[{name:"铁拐李",sex:"男",friend:user},{name:"何仙姑",sex:"女",friend:user}]; 一般的解析工具都会出错 详细信息请参观 ...

    JavaScript的json封装

    因项目需求,自己拼接麻烦,所以将javascript拼接json...因为删除操作几乎用不到,所以仅仅写了json对象的,没有弄json数组的。仅仅是提供一个较好的解决办法,要是有更好的请留言。如发现什么不对的请留言我会改正。

Global site tag (gtag.js) - Google Analytics