我正在嘗試實作以下動態 JSON 字串創建。我可以生產id零件,但不知道如何生產name零件。ID 來自串列,名稱來自文本框。
我嘗試了很多,但似乎沒有任何效果。我想同時選擇字串和文本框,結果如下。
{
"name": "GROUP-X1",
"objects": [{ // this part is needed as a complete string
"type": "Host",
"id": "0050569A-7800-0ed3-0000-008589948757"
}, {
"type": "Host",
"id": "0050569A-7800-0ed3-0000-008589945523"
}]
}
var output = createJSON1();
function createJSON1() {
var arr = $("#select1 > option").map((index, val) => ({
"type": "Host",
id: val.value
})).get();
return JSON.stringify(arr);
}
console.log(output);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" name="text" id="srch-obj" value="GROUP-X1">
<select id="select1" multiple size="2" style="width: 480px">
<option>0050569A-7800-0ed3-0000-008589948757</option>
<option>0050569A-7800-0ed3-0000-008589945523</option>
</select>
uj5u.com熱心網友回復:
您的代碼已經構建了objects陣列。因此,您需要做的就是將輸出包裝在另一個物件中,提供name您可以從 的值中檢索的屬性#srch-obj。嘗試這個:
var output = createJSON1();
function createJSON1() {
let obj = {
name: $('#srch-obj').val(),
objects: $("#select1 > option").map((t, el) => ({
type: "Host",
id: el.value
})).get()
}
return JSON.stringify(obj);
}
console.log(output);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" name="text" id="srch-obj" value="GROUP-X1">
<select id="select1" multiple size="2" style="width: 480px">
<option>0050569A-7800-0ed3-0000-008589948757</option>
<option>0050569A-7800-0ed3-0000-008589945523</option>
</select>
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/324338.html
標籤:javascript 查询 json
上一篇:如何從Json檔案創建物件串列
下一篇:從陣列創建新的JSON字串
