`
holoblog
  • 浏览: 1264248 次
博客专栏
E0fcf0b7-6756-3051-9a54-90b4324c9940
SQL Server 20...
浏览量:19540
文章分类
社区版块
存档分类
最新评论

在JS端将JSON对象转化为字符串的方法

 
阅读更多

由于工作需要,要在JS端将JSON对象转化为字符串,并写到用户的COOKIE中,用来保存用户的一些个人操作习惯。便在网上搜寻了一遍,发现方法有很多,有些代码不清晰,看得乱,有些考虑不周全,生成的字符串有问题,便整合了一些好的写法,自己改进了一下。可能还是考虑得不周全,但是感觉常用的类型都考虑了,望大家多多拍砖指点!

JSON.stringify(jsonobj),本来是最简便的方法,可是存在浏览器兼容问题(仅适用于IE8+,Chrome 1+,FF 3+)。

var O2String = function (O) {
        //return JSON.stringify(jsonobj);

        var S = [];
        var J = "";
        if (Object.prototype.toString.apply(O) === '[object Array]') {
            for (var i = 0; i < O.length; i++)
                S.push(O2String(O[i]));
            J = '[' + S.join(',') + ']';
        }
        else if (Object.prototype.toString.apply(O) === '[object Date]') {
            J = "new Date(" + O.getTime() + ")";
        }
        else if (Object.prototype.toString.apply(O) === '[object RegExp]' || Object.prototype.toString.apply(O) === '[object Function]') {
            J = O.toString();
        }
        else if (Object.prototype.toString.apply(O) === '[object Object]') {
            for (var i in O) {
                O[i] = typeof (O[i]) == 'string' ? '"' + O[i] + '"' : (typeof (O[i]) === 'object' ? O2String(O[i]) : O[i]);
                S.push(i + ':' + O[i]);
            }
            J = '{' + S.join(',') + '}';
        }

        return J;
    };



/*-----------------------以下是测试代码-----------------------*/

var jsonStr = O2String(
                [
                    {
                        "Page": "plan",
                        "Custom":
                        [
                            {
                                "ItemName": "CustomLabel1",
                                "ItemContent": 1, 
                                "IsItem": true,
                                "ItemDate": new Date(1320774905467),
                                "ItemReg": /[\w]*?/gi,
                                "ItemFunc": function () { alert("ItemFunc"); }
                            },
                            {
                                "ItemName": "CustomLabel1",
                                "ItemContent": 1,
                                "IsItem": true,
                                "ItemDate": new Date(1320774905467),
                                "ItemReg": /[\w]*?/gi,
                                "ItemFunc": function () { alert("ItemFunc"); }
                            }
                        ]
                    },
                    {
                        "Page": "project",
                        "Custom":
                        [
                            {
                                "ItemName": "CustomLabel2",
                                "ItemContent": 2,
                                "IsItem": false,
                                "ItemDate": new Date(1320774905467),
                                "ItemReg": /[\w]*?/gi,
                                "ItemFunc": function () { alert("ItemFunc"); }
                            },
                            {
                                "ItemName": "CustomLabel2",
                                "ItemContent": 2,
                                "IsItem": false,
                                "ItemDate": new Date(1320774905467),
                                "ItemReg": /[\w]*?/gi,
                                "ItemFunc": function () { alert("ItemFunc"); }
                            }
                        ]
                    }
                ]
            );
            alert(jsonStr);
            var jsonObj = eval("(" + jsonStr + ")");
            alert(jsonObj.length);
1
2
分享到:
评论

相关推荐

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

    2. **字符串与JSON对象之间的转化**:JavaScript提供了两个内置函数来实现这种转化:`JSON.stringify()`用于将JavaScript对象转换为JSON字符串,`JSON.parse()`用于将JSON字符串转换回JavaScript对象。 **描述中的...

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

    1. `JSON.parse()`方法用于将一个JSON字符串转换为JavaScript对象。在JSON中,数据被表示为键值对(key-value pairs)的集合,而JavaScript对象正是以这种方式存储数据。例如,如果你有一个JSON字符串`'{"name": ...

    java对象转换为json字符串或字符串数组

    在Java开发中,将Java对象转换为JSON字符串或字符串数组是一项常见的任务,特别是在与前端交互、数据存储或者网络传输时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...

    asp字符串转json对象类

    题目中提到的"asp字符串转json对象类"就是这样一个功能,它允许开发者将JSON格式的字符串转换为VBScript可以操作的对象。 在VBScript中,对象的属性通常通过"obj.property"的方式访问,但根据描述,这里的JSON对象...

    json字符串转换c++类对象

    在C++编程中,将JSON字符串转换为C++类对象是一项常见的任务,特别是在处理网络通信、数据存储或配置文件时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析...

    使用json-lib将java对象转换成json字符串

    标题中的“使用json-lib将java对象转换成json字符串”指的是在Java编程中,利用json-lib这个库来将Java对象转化为JSON格式的字符串。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端...

    json对象与字符串互转

    JavaScript提供了`JSON.stringify()`方法来将一个JavaScript值(包括对象或数组)转换为JSON字符串。这个方法可以接收三个参数: - 要转换的值。 - 一个可选的替换函数,用于过滤或修改转换的结果。 - 一个可选...

    由php对象生成json字符串 把php对象变成json字符串.zip

    在PHP中,将PHP对象转换成JSON(JavaScript Object Notation)字符串是一项常见的任务,尤其是在进行Web开发时,因为JSON是一种轻量级的数据交换格式,它允许服务器向客户端发送数据,并在客户端进行解析。...

    Json将对象转换成字符串

    2. **JavaScript的`JSON.stringify()`方法**:在JavaScript中,`JSON.stringify()`是用于将JavaScript值转换为JSON字符串的关键函数。它可以接受三个参数:要序列化的值、替换函数(可选)和缩进字符或空格数(可选...

    将json字符串转换为对象

    标题提到的“将json字符串转换为对象”,实际上是在指JSON.parse()方法,这个方法在JavaScript中用于将一个合法的JSON字符串转化为JavaScript对象。例如,我们有一个如下的JSON字符串: ```json let jsonString = '...

    模仿json,根据对象生成json字符串,根据字符串生成对象

    以`com.google.gson`为例,我们需要创建一个`Gson`实例,然后调用`toJson()`方法将Java对象转换为JSON字符串。例如,我们有一个名为`Person`的类,包含`name`和`age`属性,可以这样做: ```java import ...

    js json字符串转对象

    `JSON.stringify()` 是JavaScript提供的一个内置函数,用于将JavaScript对象转换为JSON字符串。这在需要在网络间传输或存储JavaScript对象时非常有用。例如: ```javascript let obj = { name: 'John', age: 30,...

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

    在JavaScript中,可以使用`JSON.parse()`方法将一个JSON格式的字符串转换为JavaScript对象。这个方法接收一个JSON字符串作为参数,返回的是解析后的JavaScript对象。例如: ```javascript let jsonString = '{"name...

    js中json对象和字符串的理解及相互转化操作实现方法.docx

    - **掌握JSON对象与字符串之间的相互转化方法**:使用`JSON.stringify()`将对象转换为字符串,使用`JSON.parse()`将字符串解析为对象。 - **注意JSON字符串的格式要求**:确保所有的键名使用双引号括起来。 - **利用...

    net.sf.json.JSONObject实现Object对象与Json字符串的互转

    此外,`JSONObject`在处理枚举类型时可能需要特别处理,通常会将其转换为字符串。 至于`net.sf.json`库,它是一个独立的JSON处理库,不依赖于任何JavaScript引擎。虽然现在有许多更现代的JSON处理库,如Jackson和...

    Jquery json2.js 将字符串转化为json对象

    自动将字符串转化为Json对象 使用方法Json parse 在前端使用更方便

    js 将json字符串转换为json对象

    首先,要将JSON字符串转换为JSON对象,你可以使用`JSON.parse()`方法。这个内置的方法解析JSON字符串并返回相应的JavaScript值,如对象、数组、字符串、数字等。例如: ```javascript var jsonString = '{"name":...

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

    使用`aspjson`库,可以创建并填充ASP对象,然后将其转换为JSON字符串输出。例如: ```vbscript Dim jsonObj, arr Set jsonObj = New ASPJSON Set arr = jsonObj.CreateObject("Array") arr.Add "Item1" arr....

    将string类型xml字符串转为json字符串

    总结来说,将string类型的XML字符串转换为JSON字符串是通过解析XML字符串并构建相应的JSON对象来完成的。这个过程通常需要借助特定的库,如Java中的`org.json`。理解XML和JSON的结构差异,以及如何利用这些库进行...

Global site tag (gtag.js) - Google Analytics