0

そのようなJavascriptで動的JSON配列を作成したいと思います:

var jsonData = {
    "Tasks" : [
        {
            "__metadata" : {
                "uri" : "...",
                "type" : "..."
            },
            "ID" : "...",
            "Category" : "..",
            // ...
        },
        {
            "__metadata" : {
                "uri" : "...",
                "type" : "..."
            },
            "ID" : "...",
            "Category" : "..",
            // ...
        },
        // others tasks
    ], "__count" : "2"
};

Javascript で JSON を作成する方法を見つけましたが、この構文では作成しませんでした。では、'Tasks' 配列を使用して JSON オブジェクトを作成し、そこに項目を追加する良い方法は何ですか?

ご協力ありがとうございました

4

3 に答える 3

1

多分このような何か?

function Metadata(uri,type)
{
    this.uri = uri;
    this.type = type;
}

function Task(metadata, id, category)
{
    this.__metadata = metadata;
    this.ID = id;
    this.Category = category;
}

var tasks = [new Task(new Metadata('foo','bar'), 1, 'blah'), new Task(new Metadata('foo1', 'bar1'), 2, 'blah2')];

document.write(JSON.stringify({"Tasks": tasks, "__count": tasks.length}));
于 2013-03-11T10:03:23.003 に答える
1

コンストラクターでオブジェクトを作成し、JSON API を使用します。

var jsonData = {};
jsonData.Tasks = new Array();

var Metadata = function(uri, type){
  this.uri = uri;
  this.type = type;
}

var Task = function (metadata, id, category){
  this.__metadata = metadata;
  this.ID = id;
  this.Category = category;
}

var tasks = jsonData.Tasks;

tasks.push(
  new Task(
    new Metadata("someUri", "someType"),
    1,
    "someCategory")
);

jsbin:作業例

于 2013-03-11T10:07:16.623 に答える
0

私はこのコードを使用していますが、動作します:

var jsonData = {};
jsonData.Tasks = [];

var count = 0;

for(...) {
    jsonData.Tasks.push({
        "__metadata" : {
            "uri" : "...",
            "type" : "..."
        },
        "ID" : "...",
        "Category" : "...",
    });

    count++;
}

jsonData.__count = count;

あなたの答えとあなたの反応に感謝します!

于 2013-03-11T10:12:16.943 に答える