0
のために同じキーを持つJSONオブジェクトを作成します。私は次の形式を持っているAPI呼び出しのJSONオブジェクトを作成しようとしているAPIの呼び出し
....
"Key": "Value",
"Package": {
"Dimensions": {
"UnitOfMeasurement": {
"Code": "IN",
"Description": "inches"
},
"Length": "20",
"Width": "25",
"Height": "30"
},
"PackageWeight": {
"UnitOfMeasurement": {
"Code": "Lbs",
"Description": "pounds"
},
"Weight": "80"
}
},
"Package": {
"Dimensions": {
"UnitOfMeasurement": {
"Code": "IN",
"Description": "inches"
},
"Length": "15",
"Width": "24",
"Height": "27"
},
"PackageWeight": {
"UnitOfMeasurement": {
"Code": "Lbs",
"Description": "pounds"
},
"Weight": "50"
}
},
"Key": "Value",
....
、必要に応じて、私はできるだけ多くの「パッケージ」オブジェクトを追加する必要があります。しかし、私はこれをさまざまな方法で試してみましたが、使用する変数を解析するたびに最初のオブジェクトが上書きされ、最後のオブジェクトのみで終了します。 (として結果を必要得るために:
for (var i=0;i<inputObject.packages.length;i++) {
lineItems+='"Package" + i : { ... }'
}
編集:あなたのパッケージ、つまりナンバリングについてどのように
var lineItems = '{';
for (var i=0;i<inputObject.packages.length;i++) {
lineItems += '"Package": {"PackagingType": {"Code": "02","Description": "Rate"},"Dimensions": {"UnitOfMeasurement": {"Code": "IN","Description": "inches"},"Length": ' + inputObject.packages[i][0].toString() + ',"Width": ' + inputObject.packages[i][1].toString() + ',"Height": ' + inputObject.packages[i][2].toString() + '},"PackageWeight": {"UnitOfMeasurement": {"Code": "Lbs","Description": "pounds"},"Weight": ' + inputObject.packages[i][3].toString() + '}}';
if (i !== inputObject.packages.length-1) {
lineItems += ',';
}
}
lineItems += '}';
lineItems = JSON.parse(lineItems);
JSONが無効です。鍵は重複することはできません(複数の「パッケージ」鍵が無効です)。 –
なぜ文字列を作成してオブジェクトに解析するのですか?オブジェクトを直接ビルドすることはできますか? –
ええ、それは無効なJSONですが、私はそれを回避する方法を探しています。オブジェクトを直接作成しようとしましたが、同じことが起こります –