簡體   English   中英

無法從 JSON 字符串中刪除鍵值對?

[英]Unable to remove a key value pair from JSON string?

在執行console.log(data.toString()) ,我得到以下輸出:

{
      "cid":"9333227",
      "status" : 30,
      "user" : "user1"
}

在執行刪除之前執行console.log(data['cid']) ,我得到undefined作為輸出

我想刪除cid鍵值對,以便console.log(data.toString())應生成以下輸出:

{
      "status" : 30,
      "user" : "user1"
}

我正在做delete data['cid']然后做console.log(data.toString()) 但是,它仍然打印原始json

{
      "cid":"9333227",
      "status" : 30,
      "user" : "user1"
}

如果你運行data.toString()) ,並得到你得到的輸出,意味着data不是一個對象。 它很可能是一個字符串。

如果你運行:

"hello".toString();

你得到“你好”。

如果你運行:

delete "hello".foo

您正在刪除字符串上不存在的屬性,該屬性可以正常工作。 它不會改變字符串的內容。

所以我認為你沒有對象,你有一個 JSON 字符串。 要對其進行變異,您需要先解析它:

const obj = JSON.parse(data);
delete obj.cid;
console.log(obj);

如果需要將其轉回 JSON 字符串,可以使用JSON.stringify()

let jsonobj = {
  "cid": "933227",
  "status": 30,
  "user": "user1",
}

delete jsonobj['cid']

console.log(JSON.stringify(jsonobj));

嘗試 JSON.stringify() 而不是 .toString()

暫無
暫無

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

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