我有一个文件,其中包含由其他程序生成的以下内容。请注意,每个人在最后都有一个新的字符。将以下数据转换为python中的JSON格式
{'a':1,'b':534}
{'a':4,'b':882}
{'a':2,'b':964}
.
.
so on...
如何将其转换为有效的JSON格式?
上面应印像这样
{
"Sale": [
{
"a": 1,
"b": 534
},
{
"a": 4,
"b": 882
},
{
"a": 2,
"b": 964
}
]
}
我能做到这一点的JQuery的,但我需要为我在蟒蛇并不好做这在Python,但我需要使其可以运行通过bash脚本因此需要将其转换为python脚本。
我要分享jquery解决方案,以防万一需要引用。
result = replaceAll(result,"'","\"");
result = replaceAll(result,"}, {",",");
result = replaceAll(result,"}{","},{");
result = replaceAll(result,"}\n{","},{");
result = "{\"Sale\":["+result+"]}";
//alert(result);
的replaceAll功能
function replaceAll(str, find, replace) {
var i = str.indexOf(find);
if (i > -1){
str = str.replace(find, replace);
i = i + replace.length;
var st2 = str.substring(i);
if(st2.indexOf(find) > -1){
str = str.substring(0,i) + replaceAll(st2, find, replace);
}
}
return str;
}
上述作品,但我需要一个python替代方式。
有没有使用什么特别的原因['json'(https://docs.python.org/2/library/json.html)?您可以使用['ast.literal_eval'](https://docs.python.org/2/library/ast.html#ast.literal_eval)来解析文件中的对象。 – jonrsharpe 2014-11-20 17:26:20
原始输出(将被转换为json)是用C语言编写的其他程序。有没有办法?否则,我只需要深入研究原始程序的源代码并修改它。我把这作为最后的手段。 – anshp 2014-11-20 17:30:03
是的,当然有一种方法,但如果原始程序输出有效的JSON会更容易。 – jonrsharpe 2014-11-20 17:35:30