如何从JSON对象构建JSON字符串

时间:2013-11-15 09:41:57

标签: jquery json

我正在尝试使用JSON对象并构建一个JSON字符串,但我不知道该怎么做。

这是我到目前为止给出的正确输出。

var execs = '';
$.each(window.ob.executives, function(idx, obj) {
    execs = idx + ':' + obj.name;
});

我需要的是这样的字符串:

{ 1: 'test1', 2: 'test2', 3: 'test3', 4: 'test4' }

有人可以告诉我如何构建这个字符串吗?

另外,您可能会注意到我使用的window变量我理解不好。如果有人可以告诉我如何获取这个变量的内容,这是另一个函数,那将非常感激。

修改 stringify不会给我我需要的东西。以下是我得到的:

[{"test1":"1","test2":"2"},{"test3":"3","test4":"4"}]

3 个答案:

答案 0 :(得分:4)

这里不需要jQuery:

var execs = JSON.stringify( window.ob.executives );

修改

在OP指定变量的结构后,我建议如下(遍历两级嵌套对象,提取数据以将其添加到中间对象,然后可以序列化):

var obj = {};
$.each(window.ob.executives, function( key, val ) {
  $.each( val, function( iKey, iVal ) {
    obj[ iVal ] = iKey;
  });
});
var execs = JSON.stringify( obj );

答案 1 :(得分:0)

您可以使用 JSON.stringify(JSON Object)函数,该函数将JSON对象转换为JSON字符串。

答案 2 :(得分:0)

使用此代码JSON.stringify(data);

例如:

   $.ajax({
                    type: "POST",
                    url: "/Item/Create",
                    data: JSON.stringify({ "item": item, "status": status }),
                    dataType: 'json',
                    contentType: 'application/json;',
                success: function (data) {
                    },
                error: function (data) {
                    TestAlert("Error");
                }
            });