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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將字典中的嵌套值更改為上級鍵

如何將字典中的嵌套值更改為上級鍵

拉風的咖菲貓 2021-03-29 13:54:36
我有特定格式的json文件,但我想將其更改為需要拾取其中一個嵌套值并將其投影為上級鍵的格式我只嘗試了stackoverflow的建議,并很累地達到了特定的嵌套值,但是我無法提高它。data = open('sampleDemo.json','r')json_decode=json.load(data)for item in data:    mydict={}    mydict['spk1'] = item.get('audioResponse').get('startTime').get('emotion').get.....    print mydict所需的輸出:輸入文件如下所示:{   "audioResponse": [  {     "speaker":"spk1",     "startTime": "0.0",     "endTime": "15.239",     "emotion": "neutral",     "emotionScore": "0"  },  {     "speaker":"silence",     "startTime": "15.240",     "endTime": "16.900",     "emotion": "NA",     "emotionScore": "NA"  },  {     "speaker":"spk2",     "startTime": "16.932",     "endTime": "27.320",     "emotion": "happy",     "emotionScore": "2"  },  {     "speaker":"spk1",     "startTime": "27.977",     "endTime": "37.900",     "emotion": "anger",     "emotionScore": "-3"  } ]}
查看完整描述

3 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

var data = {

  "audioResponse": [{

      "speaker": "spk1",

      "startTime": "0.0",

      "endTime": "15.239",

      "emotion": "neutral",

      "emotionScore": "0"

    }, {

      "speaker": "silence",

      "startTime": "15.240",

      "endTime": "16.900",

      "emotion": "NA",

      "emotionScore": "NA"

    }, {

      "speaker": "spk2",

      "startTime": "16.932",

      "endTime": "27.320",

      "emotion": "happy",

      "emotionScore": "2"

    }, {

      "speaker": "spk1",

      "startTime": "27.977",

      "endTime": "37.900",

      "emotion": "anger",

      "emotionScore": "-3"

    }]

};


var result = {

  audioResponse: []

};


for (var item of data.audioResponse) {

  var existed = result.audioResponse.find(x => x[item.speaker]);

  if (!existed)

    result.audioResponse.push({

      [item.speaker]: []

    });


  existedArray = result.audioResponse.find(x => x[item.speaker])[item.speaker];


  var copy = {...item};

  delete copy.speaker;

  existedArray.push(copy);

}


console.log(result);


查看完整回答
反對 回復 2021-04-08
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

var inputList = {

   "audioResponse": [


  {

     "speaker":"spk1",

     "startTime": "0.0",

     "endTime": "15.239",

     "emotion": "neutral",

     "emotionScore": "0"

  },


  {

     "speaker":"silence",

     "startTime": "15.240",

     "endTime": "16.900",

     "emotion": "NA",

     "emotionScore": "NA"

  },


  {

     "speaker":"spk2",

     "startTime": "16.932",

     "endTime": "27.320",

     "emotion": "happy",

     "emotionScore": "2"

  },


  {

     "speaker":"spk1",

     "startTime": "27.977",

     "endTime": "37.900",

     "emotion": "anger",

     "emotionScore": "-3"

  } 

]}





var result = inputList.audioResponse.reduce((acc, {speaker, ...rest})=>{

    acc['audioResponse'][speaker] = (acc['audioResponse'][speaker]) || [];

    acc['audioResponse'][speaker].push(rest);

    return acc;

}, {audioResponse:{}});


console.log(result);


查看完整回答
反對 回復 2021-04-08
?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

但我想將其更改為需要拾取其中一個嵌套值并將其投影為上級鍵的格式


您可以將組形成的屬性設置為動態(tài)


'use strict';


let attribute = 'speaker'; // can be 'speaker' or 'emotion' or 'emotionScore'

let output = {

  audioResponse: []

};


for (let response of data.audioResponse) {

  let groupKey = response[attribute];

  let group = output.audioResponse[groupKey];

  delete response[attribute]; //remove the key

  if (group) {

    group.push(response);

  } else {

    group = [response];

  }

  output.audioResponse[groupKey] = group;

}


console.log(output);


查看完整回答
反對 回復 2021-04-08
  • 3 回答
  • 0 關注
  • 262 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號