我正在 Python 中运行要在 Pig 中使用的函数。由于 Pig 使用 Jython 运行 Python,因此它无权访问 json 导入。
我尝试编写字典并将其用作 json,但因为它有 ' 而不是 ",所以它不是有效的 Json。有什么建议吗?
这并非在所有情况下都有效;但是,在大多数情况下,您可以使用replace来更改引号:
output.replace("'", '"')
谢谢您的帮助。导入 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