嵌套json, list的key轉(zhuǎn)成 json_data["A"][0]["name"] 格式(包含處理帶"."的key類型)


# ==============================================================
# 嵌套json, list的key轉(zhuǎn)成 json_data["A"][0]["name"] 格式,方便直接獲取對應key值(類似于jmeter的json插件獲取返回結(jié)果)
# 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

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容