将字符串转换为普通文本

时间:2014-04-09 14:34:42

标签: python

我在python中工作,我需要将导入的字符串转换为普通文本。我不能真正使用split(),因为我的文本是不可预测的。

例如,我会:

' "ABC1.2.3.4",
{
    "abc": "4.5.6",
    "cde": 
    [
        {
            "efg": "7.8.9",
            "hij": "1234",
        },
        {
            "efg": "789",
            "hij": "5678",
        }
    ]
} '

我想要的只是完全相同的文字,而不是字符串(删除'')并将其放入列表中

1 个答案:

答案 0 :(得分:5)

import ast

s = """ "ABC1.2.3.4",
    {
        "abc": "4.5.6",
        "cde": 
        [
            {
                "efg": "7.8.9",
                "hij": "1234",
            },
            {
                "efg": "789",
                "hij": "5678",
            }
        ]
    } """

data = ast.literal_eval("[{}]".format(s))

给出

['ABC1.2.3.4',
 {'abc': '4.5.6',
  'cde': [{'efg': '7.8.9', 'hij': '1234'}, {'efg': '789', 'hij': '5678'}]}
]