在不使用“json”导入的情况下在Python中创建Json

时间:2013-10-31 16:41:34

标签: python json jython

我在Python中运行一个用于Pig的函数。由于Pig使用Jython来运行Python,因此它无法访问json导入。

我尝试写一本字典并将其用作json,但因为它有'而不是',所以它不是Json的有效。有什么建议吗?

2 个答案:

答案 0 :(得分:0)

这不适用于所有情况;但是,对于大多数情况,您可以使用replace更改引号:

output.replace("'", '"')

答案 1 :(得分:0)

感谢您的帮助。导入json库不是一个很好的选择,因为那时我会依赖于Pig和Jython本身不包含的东西,我不想手动将jar复制到网格中。

我基本上手动创建了json,如下所示:

def convert_to_json(name, is_on, section_ids):
sectionIdsValues = ""
i = 0
for id in section_ids:
    if i > 0:
        sectionIdsValues+=', '
    sectionIdsValues+=str(id)
    i+=1
jsonString = '{"name":"'+ str(bucket_name) +'", "is_on": ' + str(is_on) + ', "section_ids":['+ sectionIdsValues +']}'
return jsonString