複数のオブジェクトを含むJSONオブジェクトがあり、それをmysqlテーブルに挿入できるように単一のオブジェクトに変換する必要があります。
私はJavaScriptでこれを行っていますが、それを「行」に変換してmysqlの挿入に送信する方法がわかりません。
IDには、すべてのConceptIDおよびConceptValueを持つすべてのanotherIDが含まれている必要があります
ConceptIDとConceptValueは互いにIDである必要があるため、結果は例で示したもののようになります。
例:
JSON
{
ID: "1"
AnotherID: "003,004,006,007,008,009,010"
ConceptID: "A,B,C"
ConceptValue: "23,45,63"
}
そして、私はそれを次のようにmysqlテーブルに挿入したいと思います:
ID | AnotherID | ConceptID | ConceptValue
===============================================
1 | 003 | A | 23
1 | 003 | B | 45
1 | 003 | C | 63
1 | 004 | A | 23
1 | 004 | B | 45
1 | 004 | C | 63
mysqlのストアドプロシージャで試してみましたが、機能しませんでした。
私は開発が少し新しいので、どんな助けでも本当にありがたいです!
ForEachを試してみたので、JSONを1つの部分で取得できます
var $IDs;
var count = 0;
JSON_Object.forEach(function (element) {
count++;
$IDs.push(element[count].ID.value);
});
しかし、私が望む結果のようにそれらを順序付けて、各行を生成する方法がわかりません。
私はあなたがのようなオブジェクトを持っていると思います
let obj = {
ID: "1",
AnotherID: "003,004,006,007,008,009,010",
ConceptID: "A,B,C",
ConceptValue: "23,45,63"
}
それでは、2つの変数を作成しましょう。
let conceptId = obj.ConceptID.split(','); // Convert to array
let conceptValue = obj.ConceptValue.split(',');
これで、conceptIdを持つAnotherIdを含む配列オブジェクトが作成されます
obj.AnotherID.split(',').reduce((arr, id) => {
arr.push(...conceptId.map((v, i) => ({
AnotherId: id,
ConceptID: v,
ConceptVaue: conceptValue[i]
})))
return arr;
}, [])
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加