1

我正在 Python 中运行要在 Pig 中使用的函数。由于 Pig 使用 Jython 运行 Python,因此它无权访问 json 导入。

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

4

2 回答 2

0

这并非在所有情况下都有效;但是,在大多数情况下,您可以使用replace来更改引号:

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

于 2013-10-31T16:43:24.557 回答
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
于 2014-04-04T04:34:48.060 回答