【发布时间】:2016-11-18 19:49:44
【问题描述】:
场景客户端发出 GET 请求,响应是这样的 JSON 格式
var data = {
"enabled": true,
"state": "schedule",
"schedules": [
{
"rule": {
"start": "2014-06-29T12:36:26.000",
"end": "2014-06-29T12:36:56.000",
"recurrence": [
"RRULE:FREQ=MINUTELY"
]
},
"wifi_state_during_rule": "disabled",
"end_state": "enabled"
}
],
"calculated_wifi_state_now": "disabled",
"time_of_next_state_change": [
"2014-07-08T18:56:56.000Z",
"2014-07-08T18:57:56.000Z"
]
};
出于本示例的目的,我将结果存储在一个名为“data”的变量中。 我的正则表达式是:
checkPattern = /"\w+\"(?=:)/ //all keys "keyname": ...
这里的基本想法只是为了获取键名,而不是在对象或数组中......因为 JSON 中键名的定义是“键名”:这就是我尝试使用上述正则表达式的原因。
我什至想过用递归函数来做这件事,但没用。
【问题讨论】:
-
为什么要使用正则表达式? Json 字符串可以很容易地转换为 javascript、c#、Java 和许多其他语言中的实际对象。真的没有必要使用正则表达式。因此,请详细说明对正则表达式的需求或进行研究以将其转化为对象。信息就在那里。
-
这里的重点不是使用正则表达式。我想只提取名称,即使它们是嵌套的。我使用正则表达式进行测试
标签: javascript json regex