簡體   English   中英

如何訪問結構相似的從輸入到輸出的JSON數組元素

[英]How to access JSON array elements from Input to output which are similar in structure

我必須使用javascript將輸入json轉換為輸出json消息下面是輸入和輸出測試樣本輸入

[{
   "Id": "123",
   "Address": "12",
   "Cadre": "LOLOL" 
   "Meeting": {"Output":    [
            {
         "Date": "2020-08-13T15:00:00Z",
         "comment": "Working"
      },
            {
         "timestamp": "2020-08-13T10:03:01Z",
         "comment": "Learning"
      },
          
     ]}
        
    },
    {
   "Id": "345",
   "Address": "14",
   "Cadre": "Loop" 
   "Meeting": {"Output":    [
            {
         "Date": "2020-12-12T18:27:00Z",
         "comment": "Working"
      },
            {
         "timestamp": "2020-11-22T14:53:01Z",
         "comment": "Learning"
      },
          
     ]}
        
    }   
]

輸出也應該保持不變,除了“會議/輸出/評論”字段中的數組外,其他字段沒有變化。

輸出

[{
   "Id": "123",
   "Address": "12",
   "Cadre": "LOLOL" 
   "Meeting": {"Output":    [
            {
         "Date": "2020-08-13T15:00:00Z",
         "comment": "NOt known"
      },
            {
         "timestamp": "2020-08-13T10:03:01Z",
         "comment": "Taken"
      },
          
     ]}
        
    },
    {
   "Id": "345",
   "Address": "14",
   "Cadre": "Loop" 
   "Meeting": {"Output":    [
            {
         "Date": "2020-12-12T18:27:00Z",
         **"comment": "Should Not be"**
      },
            {
         "timestamp": "2020-11-22T14:53:01Z",
         **"comment": "Help///A"**
      },
          
     ]}
        
    }   
]

我已經采取“for”循環來迭代輸入有效負載數組對象並檢索“會議”對象進行了必要的更改我已經嘗試過這個

session.input.readAsJSON(function(readAsJSONError, payload) {   
    var incomingDataLength = payload.length;    
    for(var i=0; i<incomingDataLength; i++){        
        var reqArr = payload.Meeting.Output;
        if(reqArr === null || reqArr === '' || reqArr === undefined) {
        console.log("Do something");
        } else {
        var reqArrLength = payload.Meeting.Output.length;
        for(var i=0;  i<reqArrLength;  i++){
            reqArrLength[i].comment= callsomefunction(reqArrLength[i].comment);
        }
        }       
    }

});

能否請你建議我繼續。

最簡單的方法是使用Array.map

var output = input;
output.Meeting.Output = input.Meeting.Output.map(item =>
{
  delete item.comment;
  return item;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM