【发布时间】:2018-03-16 04:14:51
【问题描述】:
我得到一个原始字符串,它是 JSON 中字符串的路径或“方向”。 我需要将以下字符串转换为包含字典的列表..
st = """data/policy/line[Type="BusinessOwners"]/risk/coverage[Type="FuelHeldForSale"]/id"""
列表应该是这样的
paths = ['data','policy','line',{'Type':'BusinessOwners'},'risk','coverage',{"Type":"FuelHeldForSale"},"id"]
然后我遍历此列表以在 JSON 中查找对象(在 Spark RDD 中)
我尝试了st.split(\),它给了我
st.split('/')
Out[370]:
['data',
'policy',
'line[Type="BusinessOwners"]',
'risk',
'coverage[Type="FuelHeldForSale"]',
'CalculationDisplay']
但是如何将'line[Type="BusinessOwners"]' 之类的项目转换和拆分为'line',{'Type':'BusinessOwners'}?
【问题讨论】:
-
嗨。您是否尝试过使用 eval()?你可以试试这个: st_new=eval(st) 然后打印 st_new。我希望这有效。!
-
嗨!这不起作用@ShrinivasDeshmukh data/policy/line[Type="BusinessOwners"]/risk/coverage[Type="FuelHeldForSale"]/id ^ SyntaxError: invalid syntax
-
请参考这个链接,类似的问题已经在这里讨论过:stackoverflow.com/questions/36068779/…
-
@mdeonte001 --- 如果您希望人们利用他们的时间来解决您的问题,您应该更具体地说明您想要什么。如果你想在你的列表中找到一本字典,那就说明它而不是让别人读你的想法!
-
@MichaelSwartz 请参见上文,我声明“包含字典的列表..”,在我的示例中,我显示了字典。
标签: python json python-3.x oop apache-spark