Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何将json属性名从snake转换为camel大小写_Regex_Regex Negation - Fatal编程技术网

Regex 如何将json属性名从snake转换为camel大小写

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

我有一个像这样的json文档。。。我试图将属性名而不是值从snake-case转换为camel

前- 消息类型id到消息类型id 和_idto id 和点对点高度

{
  "@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并简单地迭代属性名。根据您的环境,您可以使用代码或类似于库的工具或类似于的命令行工具,例如,这可以处理类似的问题