python命名建议下划线链接,但是web和java都是驼峰,所以可能会出现转换的情况,这里给一个方法类,只是参考,只是参考,只是参考,实际应该有pojo转换的方法。
    参考:

    代码:

    1. import re
    2. def hump2underline(hump_str):
    3. """
    4. 驼峰形式字符串转成下划线形式
    5. :param hump_str: 驼峰形式字符串
    6. :return: 字母全小写的下划线形式字符串
    7. """
    8. # 匹配正则,匹配小写字母和大写字母的分界位置
    9. p = re.compile(r'([a-z]|\d)([A-Z])')
    10. # 这里第二个参数使用了正则分组的后向引用
    11. sub = re.sub(p, r'\1_\2', hump_str).lower()
    12. return sub
    13. def underline2hump(underline_str):
    14. """
    15. 下划线形式字符串转成驼峰形式
    16. :param underline_str: 下划线形式字符串
    17. :return: 驼峰形式字符串
    18. """
    19. # 这里re.sub()函数第二个替换参数用到了一个匿名回调函数,回调函数的参数x为一个匹配对象,返回值为一个处理后的字符串
    20. sub = re.sub(r'(_\w)', lambda x: x.group(1)[1].upper(), underline_str)
    21. return sub
    22. def json_hump2underline(hump_json_str):
    23. """
    24. 把一个json字符串中的所有字段名都从驼峰形式替换成下划线形式。
    25. 注意点:因为考虑到json可能具有多层嵌套的复杂结构,所以这里直接采用正则文本替换的方式进行处理,而不是采用把json转成字典再进行处理的方式
    26. :param hump_json_str: 字段名为驼峰形式的json字符串
    27. :return: 字段名为下划线形式的json字符串
    28. """
    29. # 从json字符串中匹配字段名的正则
    30. # 注:这里的字段名只考虑由英文字母、数字、下划线组成
    31. attr_ptn = re.compile(r'"\s*(\w+)\s*"\s*:')
    32. # 使用hump2underline函数作为re.sub函数第二个参数的回调函数
    33. sub = re.sub(attr_ptn, lambda x: '"' + hump2underline(x.group(1)) + '" :', hump_json_str)
    34. return sub
    35. print(underline2hump("hello_word"))
    36. print(hump2underline("helloWord"))
    37. jsonStr = """{"userName":"hi"}"""
    38. print(json_hump2underline(jsonStr))

    结果:

    helloWord hello_word {“user_name” :”hi”}