[英]How to get first key pair element of JSON object without knowing key and deleting it in node red
我正在用 node-red 編寫一個 function 節點,它接收一個 JSON object 和任意鍵值對:
{ 30000c690b61: "m8Jp_M7Lc0",
30000c290bdc65: "S3qg3Rkl8Y",
30000c290bdf1c: "KsLpfVrR4W",
30000c290be5d0: "oXasuCWV_q",
30000c29e618: "6Q67v-gJkS" … }
我想訪問這個 object 中的第一個密鑰對元素,存儲它,然后刪除它。 我嘗試了很多東西,但由於它是節點紅色的,所以它的行為似乎有所不同
var firstKey = Object.keys(myObject)[0];
delete myObject[firstKey ];
獲取JSON對象表達式的“第一個”元素很困難,因為JSON對象不是有序集合。 它們在JSON中是“有序”的,因為它們必須具有字符序列化,這是一個有序的字符序列,但是兩個具有不同順序屬性的JSON對象表達式意味着傳達相同的語義。
如果您願意相信您的JavaScript環境在迭代時保留鍵的順序(這不是ECMAScript規范中定義的假設,但在您的環境的實現中可能是這樣),您可以:
var myObj = JSON.parse("{ ... }");
var firstKey = Object.keys(myObj)[0];
delete myObj[firstKey];
如果您不想做出這樣的不安全假設,則需要讀取JSON字符串並手動確定第一組引號之間的鍵名。 這需要一些努力,因為您還必須處理可能出現在密鑰名稱內的轉義引號。
以下代碼將從JSON對象獲取第一個元素密鑰對並刪除它。
var resultJSON = '{ "30000c690b61": "m8Jp_M7Lc0",
"30000c290bdc65": "S3qg3Rkl8Y",
"30000c290bdf1c": "KsLpfVrR4W",
"30000c290be5d0": "oXasuCWV_q",
"30000c29e618": "6Q67v-gJkS"}';
var result = $.parseJSON(resultJSON);
$.each(result, function(k, v) {
//display the key and value pair
alert(k + ' is ' + v);
//For Delete the first key pair
delete result['k'];
exit;
});
const defaultvalue =yourObject[Object.keys(yourObject).at(0)]
從 JSON Object 獲取第一個元素
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.