嵌套json, list的key转成 json_data["A"
2019-02-27 本文已影响0人
GovS_777
# ==============================================================
# 嵌套json, list的key转成 json_data["A"][0]["name"] 格式,方便直接获取对应key值(类似于jmeter的json插件获取返回结果)
# EG:{"data":{"name":["A", "b"]} --> data.name.0.A
# key中间带有. 情况写法示例:
# 1.{"10.10.10.10": 77777777} --> ..str(10.10.10.10)
# 2.{"data.policyNo": 88888888} --> ..data.policyNo
# 3.{"data": {"10.10.10.10": {"A": "aaa"}}} --> data..str(10.10.10.10)..A
# 4.{"data": {"data.policyNo": {"A": "bbb"}}} --> data..data.policyNo..A
def get_nestdict_trasKey(self, key_data):
obj = ""
if ".." in key_data: # 处理key中带有.的情况方法2
for i in key_data.split(".."):
if i != "":
if is_numeric(i):
obj = "%s[%s]" % (obj, i)
else:
if 'str(' in i:
i = i[i.find('(') + 1:-1]
obj = "%s['%s']" % (obj, i)
else:
for i in key_data.split("."):
if is_numeric(i):
obj = "%s[%s]" % (obj, i)
else:
if 'str(' in i:
i = i[i.find('(') + 1:-1]
obj = "%s['%s']" % (obj, i)
return obj