0

我正在处理程序中的数据,我遇到了这种数据格式,但我不知道如何解析它。

response="0",num=3,list=[
{type="url1",url="http://www.xxx1.com"},
{type="url2",url="http://www.xxx2.com"},
{type="url3",url="http://www.xxx3.com"}
],type="LIST", id=1

有没有人有什么建议?

谢谢!

4

2 回答 2

0

Python:

import json
import re
str = """response="0",num=3,list=[
{type="url1",url="http://www.xxx1.com"},
{type="url2",url="http://www.xxx2.com"},
{type="url3",url="http://www.xxx3.com"}
],type="LIST", id=1"""
fn = lambda m: '"' + m.group(1) + '":'
json_str = "{"+re.sub(r'(\w+)=', fn, str)+"}"
print json_str
print "==========================="
dict_obj = json.loads(json_str)
print dict_obj
于 2013-06-09T09:08:33.860 回答
0

我不知道这种格式是什么,但它非常接近 JSON。

您只需要替换key="key":包裹额外的大括号以使其成为有效的 JSON,然后您就可以使用任何 JSON 库来解析它。

您可以使用以下 Perl 代码对其进行解析:

use JSON::XS;

my $input = qq{
    response="0",num=3,list=[
    {type="url1",url="http://www.xxx1.com"},
    {type="url2",url="http://www.xxx2.com"},
    {type="url3",url="http://www.xxx3.com"}
    ],type="LIST", id=1
};
my $str = "{" . $input . "}";
$str =~ s/(\w+)=/"$1":/g; # replace key= with "key": (fragile!)
my $json = decode_json($str);
# at this point, $json is object containing all fields you need.
# ...
于 2013-06-09T08:26:09.897 回答