我有像下面(其实际上嵌套JSON)的字符串,从字符串从一个特定的位置蟒删除一个子
{“一个”:“X”,“B”:1,“c”的: “{ ”一个“: ”X“, ”b“:1, ”C“: ”{“ 一个 ”:“ X”, “b”:1, “C”: “XA”} “}” }
,我试图提取字符串(粗体文本)的特定部分。而且,“xa”可以是另一个嵌套的json对象。
所以,条件总是我需要提取的9号发生后字符串的一部分“(引号)直到的最后一次出现之前”。
我已经试过这
newstr = '{"a":"x","b":1,"c":"{"a":"x","b":1,"c":"{"a":"x","b":1,"c":"xa"}"}"}'
newstr2=newstr.split('"')[9:]+newstr.rsplit('"')[1:]
newstr3 = ''.join(newstr2)
print(newstr3)
它让我从串子,但是,因为我的““”所有“””从整个字符串被删除拆分字符串。所以,我得到的结果就像这样 - {a:x,b:1,c:{a:x,b:1,c:xa}}并且我需要子字符串 - {“a”:“x “,”b“:1,”c“:”{“a”:“x”,“b”:1,“c”:“xa”}“},否则它不会是有效的json对象,我不能在字符串上使用json.loads。
我记得在其他编程语言之前这样做,VB,甚至Oracle存储过程,基本上我用SUBSTR和INSTR函数的组合。任何想法如何在python中实现?
你应该大概是第一次使用JSON库解析JSON字符串:json.loads(“{‘一’...“}”) –