Regex 如何将json属性名从snake转换为camel大小写
我有一个像这样的json文档。。。我试图将属性名而不是值从snake-case转换为camel 前- 消息类型id到消息类型id 和_idto id 和点对点高度Regex 如何将json属性名从snake转换为camel大小写,regex,regex-negation,Regex,Regex Negation,我有一个像这样的json文档。。。我试图将属性名而不是值从snake-case转换为camel 前- 消息类型id到消息类型id 和_idto id 和点对点高度 { "@version": "1", "point_altitude": 530, "_id": "3325", "header": { "raw_message": &q
{
"@version": "1",
"point_altitude": 530,
"_id": "3325",
"header": {
"raw_message": "",
"message_type_id": "ping_event"
}
}
我已尝试查找\w[]{1,1}[a-z]{1,1}并替换$1\U$2
但这也改变了价值观。我还尝试使用正向lookaheads,在查找的末尾添加了.+??=\:但这会停止在属性名称中查找任何第二个下划线
用一个regex替换就可以做到这一点,但可能不是最好的选择。试一试
(?<=[\w])(?:_([a-z]))([^_"]*+)(?!"\s)|"_([a-z]+)"
我更愿意建议解析JSON并简单地迭代属性名。根据您的环境,您可以使用代码或类似于库的工具或类似于的命令行工具,例如,这可以处理类似的问题