0

JSON のヘルプが必要です。私はこれに似たJSONを扱っています:

{
    GreatGrandfather: {
        GrandFather: {
            Father: [
                {
                    Son: [
                        {
                            Name: "Abu Nazir",
                            Detail: {
                                Class: "3rd Grade"
                            }
                        },
                        {
                            Name: "Dexter",
                            Detail: {
                                Class: "6th Grade"
                            }
                        },
                        {
                            Name: "Rick",
                            Detail: {
                                Class: "11th Grade"
                            }
                        }
                    ]
                },
                {
                    Son: [
                         {
                            Name: "Tom Walker",
                            Detail: {
                                Class: "3rd Grade"
                            }
                        },
                        {
                            Name: "Sgt Bastisa",
                            Detail: {
                                Class: "6th Grade"
                            }
                        },
                        {
                            Name: "The Governer",
                            Detail: {
                                Class: "11th Grade"
                            }
                        }
                    ]
                }
            ]
        }
    }
}

私の質問は、「3 年生」のクラス値を持つ息子を削除するにはどうすればよいですか? アブ ナジールとトム ウォーカーの両方が削除され、それぞれの父親には 2 人の息子しかいないということですか?

また、両方の父親に息子を追加するにはどうすればよいですか?

{Name: "Stewie",Detail: {Class:"Kindergarden"}}

{Name: "Peter",Detail: {Class:"1st Grade"}}

ありがとう!

4

2 に答える 2

1

javascriptではJSON.parse、JSON文字列をjavascriptオブジェクトに変換し、それを操作するために使用します。

var parsed = JSON.parse(JSONString);
var fathers = parsed.GreatGrandfather.GrandFather.Father;

// loop through the father array, removing sons in 3rd grade
for (var i = 0; i < fathers.length; i++) {
    var sons = fathers[i].Son;

    for (var j = 0; j < sons.length; j++) {
        // remove the 3rd graders
        if (sons[j].Detail.Class === '3rd Grade') {
            sons.splice(j, 1);
        }
    }
}

// add some sons
var newSon = {
    Name: "Stewie",
    Detail: {
        Class: "Kindergarden"
    }
};

fathers[0].Son.push(newSon);
于 2012-11-26T16:14:45.077 に答える