简体   繁体   English

在从“ {” k1”:“ v1”,“ k2”:“ v2”}”获取值方面需要帮助

[英]need help on getting a value from “{”k1“:”v1“, ”k2“:”v2“}”

i got a result from someone else code 我从别人的代码中得到了结果

elem.getAttribute("additional-attributes")

...the result is like: ...结果就像:

"{"k1":"v1", "k2":"v2"}"

so do I have to parse the string to get "v2" from "k2"? 所以我必须解析字符串以从“ k2”获得“ v2”吗? or are there better ways to get the value? 还是有更好的方法来获得价值?

Thanks! 谢谢!

You could just split on comma then colon. 您可以先用逗号再用冒号分开。 Or a simple regex could do the trick. 或者简单的正则表达式就可以解决问题。

If the string is like this actually (note the ' as a string operator): 如果字符串实际上是这样的(请注意'作为字符串运算符):

var string = '{"k1":"v1", "k2":"v2"}'

You can do this (to convert that string into JS object): 您可以执行此操作(将该字符串转换为JS对象):

var obj = eval("("+string+")");

And then to access k2 value do this: 然后访问k2值,请执行以下操作:

var k2value = obj.k2;

If the string is badly formated, you can reformat it so it is valid JS string, and then do the eval() on it to make it an object. 如果字符串格式错误,则可以对其进行重新格式化,使其成为有效的JS字符串,然后对其执行eval()以使其成为对象。

OK,所以您想使用JSON.parse获取对象,然后使用obj.k1obj.k2获取值...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM