簡體   English   中英

如何在JSON響應中更改數據

[英]How to change data in a json response

我正在獲取帶有以下數據的jsonResponse:

[ 
   { 
      "date":"2019-02-15",
      "value":"5456"
   },
   { 
      "date":"2019-02-15",
      "value":"5456"
   },
   { 
      "date":"2019-02-15",
      "value":"5456"
   },
   { 
      "date":"2019-02-15",
      "value":"-5456"
   }
]

我需要將日期中的定界符從“-”更改為“ /”。 我需要的日期是:2019/03/14

我試圖這樣更改它們:

json.replace(/-/g, "/"); 

它可以工作,但是有問題。 如果由於某種原因,值數據為負-524。 減號也會改變。

有什么辦法可以更改定界符而不影響其他數據?

我需要保留jsonResponse,但要更改定界符。

您必須使用Array.prototype.map遍歷數組並更改date

 const response = [ { date: "2019-02-15", value: "5456" }, { date: "2019-02-15", value: "5456" }, { date: "2019-02-15", value: "5456" }, { date: "2019-02-15", value: "-5456" } ]; const result = response.map(obj => ({ ...obj, date: obj.date.replace(/-/g, "/") })); console.log(result); 

  1. 使用Array.prototype.map遍歷數組中的對象。

  2. 通過調用String.prototype.split("-")格式化date屬性,以使用-分隔符將date字符串拆分為數組。

  3. 然后使用/通過調用Array.prtotype.join("/")加入數組:

 const data = [ { "date":"2019-02-15", "value":"5456" }, { "date":"2019-02-15", "value":"5456" }, { "date":"2019-02-15", "value":"5456" }, { "date":"2019-02-15", "value":"-5456" } ]; //This function does not modify the original object or the array function formatDate(){ return data.map(o => ({...o, date: o.date.split("-").join("/")})); } console.log(formatDate(data)); 

你可以嘗試地圖

 let response = json.map(doc => doc.date.replace(/-/g, "/")) 

暫無
暫無

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

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