4

JavaScript 変数に次の文字列があります。

my_Variable = "{"Domini":[{"cod_domini":"1","nom_domini":"Sant Esteve de Palautordera"},{"cod_domini":"2","nom_domini":"Parc Natural del Montseny"},{"cod_domini":"5","nom_domini":"Sant Pere de Vilamajor"},{"cod_domini":"6","nom_domini":"Santa Maria i Mosqueroles"}]}"

Domini結果の文字列が次のようになるように、文字列の先頭にあるルートを削除する必要があります。

my_Variable = [{"cod_domini":"1","nom_domini":"Sant Esteve de Palautordera"},{"cod_domini":"2","nom_domini":"Parc Natural del Montseny"},{"cod_domini":"5","nom_domini":"Sant Pere de Vilamajor"},{"cod_domini":"6","nom_domini":"Santa Maria i Mosqueroles"}]

関数を使用してJSONをオブジェクトに解析しようとしましたが、JSON.parse()機能しますが、データを取得して処理し、ルートなしで新しいJSONを生成する方法がわかりません。

ある種のループを使用する必要がありますか?

4

4 に答える 4

3
var obj = JSON.parse(json);
obj = [Object.keys(obj)[0]];
var newJson = JSON.stringify(obj);

または、Object.keys のような ES5 機能を避けます。

var obj = JSON.parse(json);
for (var key in obj) {
    if (!Object.prototype.hasOwnProperty.call(obj, key)) continue;
    obj = obj[key];
    break;
}
var newJson = JSON.stringify(obj);
于 2012-12-24T11:29:06.643 に答える
2

キーを削除した後、文字列に戻したいと考えています。

my_Variable = JSON.stringify(JSON.parse(my_Variable).Domini);

壊す

JSON.parse(my_Variable)

文字列を JSON オブジェクトに解析します。

JSON.parse(my_Variable).Domini

プロパティの値を返しますDomini

JSON.stringify(JSON.parse(my_Variable).Domini)

それを文字列にエンコードします。

于 2012-12-24T11:27:59.780 に答える
1

変数を渡したい場合は、次の手順を実行します(すでにこれを行っていると述べましたが、完全を期すために追加しました)

var parsedJson = JSON.parse(my_Variable);

解析したら、次のようにします。

var JsonWithoutDominiAsRoot = parsedJson.Domini;

あなたはできる "。" 新しいjsonオブジェクトのさまざまな属性を通り抜けます。ドミニはその一人です。

于 2012-12-24T11:27:39.067 に答える