0

私はオブジェクトと言うイメージを持っています

        look : {
            name : "hello baby",
            tag_list : "hello",
            collection_id : 1,
            category_id : 1
        },

このオブジェクトをシリアライズして、 POST / GETリクエストを介してサーバーに送信できるようにしたいと考えています。この目的で JQUEry を使用することはできません。

look[名前]=こんにちは

4

6 に答える 6

0

単純に使用します:

var look = {
            name : "hello baby",
            tag_list : "hello",
            collection_id : 1,
            category_id : 1
        };

   var serialized_object = JSON.stringify(look);  // to serialize an object
   var deserialized_object = eval('('+ serialized_object + ')');  // to deserialize an object
于 2012-08-03T10:13:58.457 に答える
0

これにより、stringify メソッドがオブジェクトに追加され、parseJSON メソッドが文字列に追加されます。

ソース: JSON.org

于 2012-08-03T10:12:58.733 に答える
0

http://www.codeproject.com/Tips/46827/Serialize-Object-in-Javascriptから取得したコード

function serialize(obj)
    {
        var returnVal;
        if(obj != undefined){
        switch(obj.constructor)
        {
            case Array:
                var vArr="[";
                for(var i=0;i<obj.length;i++)
                {
                    if(i>0) vArr += ",";
                    vArr += serialize(obj[i]);
                }
                vArr += "]"
                return vArr;
            case String:
                returnVal = escape("'" + obj + "'");
                return returnVal;
            case Number:
                returnVal = isFinite(obj) ? obj.toString() : null;
                return returnVal;               
            case Date:
                returnVal = "#" + obj + "#";
                return returnVal;       
            default:
                if(typeof obj == "object"){
                    var vobj=[];
                    for(attr in obj)
                    {
                        if(typeof obj[attr] != "function")
                        {
                            vobj.push('"' + attr + '":' + serialize(obj[attr]));
                        }
                    }
                        if(vobj.length >0)
                            return "{" + vobj.join(",") + "}";
                        else
                            return "{}";
                }       
                else
                {
                    return obj.toString();
                }
        }
        }
        return null;
    }
于 2012-08-03T10:08:53.613 に答える
0

単純な 1 次元オブジェクトの場合は、次を使用できます

var ser ="";
for (var o in look) ser += "&"+o+"="+encodeURIComponent(look[o]);
alert(ser.substring(1));
于 2012-08-03T10:09:34.673 に答える