5

我正在尝试获取一个 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"}]
4

3 回答 3

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 );
于 2013-11-15T09:44:34.353 回答
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");
                }
            });
于 2013-11-15T09:49:11.490 回答
0

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

于 2013-11-15T09:46:26.323 回答