Javascript 如何从分配给字符串对象的json消息中提取键值

Javascript 如何从分配给字符串对象的json消息中提取键值,javascript,node.js,Javascript,Node.js,我正在将带有属性的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-

我正在将带有属性的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> 
并将其赋值为
var result=JSON.stringify(jsonObj)现在字符串类型的结果包含已转换的JSON消息。
从结果中,我需要得到基础货币值


非常感谢任何潜在客户。

您可以使用
JSON.parse
函数将字符串转换为JSON对象

const object1 =JSON.parse(jsonstr) ;
console.log(Object.keys(object1));
希望下面的例子能帮助你开始

const x='{“key1”:“value1”,“key2”:“value2”}';
const json=json.parse(x);
log(json.key1);

log(json.key2)没有进一步的示例,我不确定这是否是您真正想要的,但据我所知:

你有这个:

设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 object1 =JSON.parse(jsonstr) ;
console.log(Object.keys(object1));

Object.keys()方法返回给定对象自身属性名称的数组,其顺序与普通循环相同。

请提供一个简洁的示例,说明您拥有什么(您的输入)、
x(字符串)
的外观以及您期望的输出。另外,您还提供了一些您尝试过的代码,这样我们就可以很容易地找到不起作用的地方。XML消息是什么,我正在使用快速XML解析器将其转换,并将其命名为var result=JSON.stringify(jsonObj);现在,结果包含已转换的json消息。从结果中,我需要得到基本货币值。如果你分析代码,它将更容易为每个人阅读更新它。请检查请检查以下详细信息。XML消息是,我正在使用快速XML解析器将其转换为var result=JSON.stringify(jsonObj);现在,结果包含已转换的json消息。从结果中,我需要获得基础货币值。请使用上述详细信息更新您的问题。还发布来自fast-xml-parser的结果。如果我没有字符串化,我将得到以下输出{OBJECT:{key:'postorder',type:'TEMP',TEMP:{ROW:[OBJECT]}}}是的,完全正确。请看我答案中的代码。我已经给出了从这个对象获取基础货币值的代码,而不是使用
var result=JSON.stringify(jsonObj),只需执行
constbasecurrency=jsonObj.OBJECT.TEMP.ROW[“基本货币”]
获取
基础货币
值。用详细信息更新问题。请检查并添加示例。请检查如果我没有字符串化,我将获得以下输出{OBJECT:{key:'postorder',type:'TEMP',TEMP:{ROW:[OBJECT]}}},并且我获得的值未定义。你能帮我吗check@siva如果快速xml解析器返回一个对象,这应该可以工作。除非该对象与您发布的内容不完全相同,否则请检查该对象