第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何使用查詢風(fēng)格在 JSON 中插入數(shù)據(jù)?

如何使用查詢風(fēng)格在 JSON 中插入數(shù)據(jù)?

我們假設(shè)以下 json 文件{    "id": "test",    "child" : [                {                     "id": "alpha",                 "child":[]                },                {                     "id": "beta",                 "child":[]                }              ]}在 JavaScript 中,如何使用類似風(fēng)味的查詢將 JSON 對(duì)象插入特定的 JSON 數(shù)組位置我想插入鄰居 id 為 alpha 的孩子。我不想使用位置
查看完整描述

2 回答

?
莫回?zé)o

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

您可以編寫一個(gè)遞歸函數(shù)來在 JSON 對(duì)象的指定索引處插入一個(gè)元素,如下所示:


const yourJSON = `

{


    "id": "test",

    "child" : [

                {

                 "id": "alpha",

                 "child":[]

                },

                {

                 "id": "beta",

                 "child":[]

                }


              ]


}

`;


function insertIntoChildJSON(sourceJSON, childId, childPosition, value) {

    function insertIntoChild(data, childId, childPosition, value) {

        if (data.id === childId) {

            data.child[childPosition] = value;

        } else {

            if (data.child.length > 0) {

                for (let i = 0; i < data.child.length; ++i) {

                    data.child[i] = insertIntoChild(

                        data.child[i],

                        childId,

                        childPosition,

                        value

                    );

                }

            }

        }


        return data;

    }


    const parsedSource = JSON.parse(sourceJSON);


    return JSON.stringify(

        insertIntoChild(parsedSource, childId, childPosition, value)

    );

}


console.log(

    insertIntoChildJSON(yourJSON, 'alpha', 1, { id: 'charlie', child: [] })

);


查看完整回答
反對(duì) 回復(fù) 2022-06-16
?
桃花長(zhǎng)相依

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊

假設(shè)file.json是您的 json 字符串


import objects from './file.json'

對(duì)于查詢,你可以想出這樣的東西。


function query(column, value) {

  let children = objects.child

  return children.find(child => child[column] === value)

}

對(duì)于多個(gè)返回(數(shù)組),請(qǐng)filter改用


function query(column, value) {

  let children = objects.child

  return children.filter(child => child[column] === value)

}

然后插入數(shù)據(jù)將是:


function insert(column, value, insert) {

  if (insert) {

    let children = objects.child

    let item = children.find(child => child[column] === value)

    if (variable.constructor === Array) {

      item.child.push(...insert)

    } else {

      item.child.push(insert)

    }

  }

}


查看完整回答
反對(duì) 回復(fù) 2022-06-16
  • 2 回答
  • 0 關(guān)注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)