[英]How to extract key values from json message assigned to a string object
我正在將帶有屬性的 XML 消息轉換為 JSON 並分配給一個變量。 現在變量x
具有轉換后的 JSON 消息。 現在我想從變量x(string)
提取鍵值對。
請檢查以下詳細信息。 XML 消息是
<?xml version="1.0" encoding="UTF-8"?>
<OBJECT key="postorder" type="TEMP">
<TEMP>
<ROW order-version-id="1"
layout-type="2"
order-no="3"
order-action="4"
estimated-price="5"
orig-price="6"
quantity="7"
orig-quantity="8"
quantity-type="6"
trade-currency="7"
base-currency="8"
settlement-currency="9"/>
</TEMP>
</OBJECT>
我正在使用 fast-xml-parser 轉換它,輸出如下
{
"OBJECT":{
"key":"postorder",
"type":"TEMP",
"TEMP":{
"ROW":{
"order-version-id":"1",
"layout-type":"2",
"order-no":"3",
"order-action":"4",
"estimated-price":"5",
"orig-price":"6",
"quantity":"7",
"orig-quantity":"8",
"quantity-type":"6",
"trade-currency":"7",
"base-currency":"8",
"settlement-currency":"9"
}
}
}
}
並將其分配為var result = JSON.stringify(jsonObj);
現在字符串類型的結果具有轉換后的 JSON 消息。 從結果來看,我需要獲得基礎貨幣價值
任何線索表示贊賞。
沒有進一步的例子,我不確定這是否是你真正想要的,但據我所知:
你有這個:
let x = '{k1: v1, k2: v2, k3: v3....}'
你想要這個:
let object = {k1: v1, k2: v2,...}
最快的方法是使用 JSON.parse 功能:
let x = '{k1: v1, k2: v2, k3: v3....}';
let object = JSON.parse(x);
編輯:在您的具體示例中,您不需要使用 JSON.stringify。 您已經有一個 JSON 對象,可以像這樣訪問它:
let object = /*that parsed XML*/
let baseCurrency = object.OBJECT.TEMP.ROW['base-currency']; //this will give you the value as string
您可以使用JSON.parse
函數將字符串轉換為 JSON 對象。
希望以下示例可以幫助您入門。
const x = '{"key1":"value1","key2":"value2"}'; const json = JSON.parse(x); console.log(json.key1); console.log(json.key2);
您從 fast-xml-parser 獲得的結果是一個 JSON 對象。 您無需使用JSON.stringify
將其轉換為字符串。 您可以直接使用該對象並獲取base-currency
值。
請參閱下面的代碼。
const jsonObj = { "OBJECT": { "key": "postorder", "type": "TEMP", "TEMP": { "ROW": { "order-version-id": "1", "layout-type": "2", "order-no": "3", "order-action": "4", "estimated-price": "5", "orig-price": "6", "quantity": "7", "orig-quantity": "8", "quantity-type": "6", "trade-currency": "7", "base-currency": "8", "settlement-currency": "9" } } } }; const baseCurrency = jsonObj.OBJECT.TEMP.ROW["base-currency"]; console.log(baseCurrency); // 8
首先使用JSON.parse
函數將字符串轉換為 JSON 對象。
const object1 =JSON.parse(jsonstr) ;
console.log(Object.keys(object1));
Object.keys() 方法返回給定對象自己的屬性名稱的數組,其順序與我們使用普通循環獲得的順序相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.