处理Python请求JSON响应

时间:2014-11-20 08:01:01

标签: python arrays json unicode python-requests

尝试使用Python处理对API的Python请求调用的一些JSON响应 - 我还在学习这种语言。

以下是返回的JSON数据示例的结构:

{"sports":[{"searchtype":"seasonal", "sports":["'baseball','football','softball','soccer','summer','warm'","'hockey','curling','luge','snowshoe','winter','cold'"]}]}

目前,我正在解析并将输出写入这样的文件:

output = response.json
results = output['sports'][0]['sports']
     if results:
          with open (filename, "w") as fileout:
               fileout.write(pprint.pformat(results))

将此作为我的档案:

[u"'baseball','football','softball','soccer','summer','warm'",
"'hockey','curling','luge','snowshoe','winter','cold'"]

因为我基本上是创建双引号JSON数组,由逗号分隔的字符串组成 - 我如何操作数组只打印我想要的逗号分隔值?在这种情况下,除了表示季节的第五列之外的所有内容。

[u"'baseball','football','softball','soccer','warm'",
"'hockey','curling','luge','snowshoe','cold'"]

最终,我也想剥掉unicode,因为我没有非ascii字符。我目前使用我更熟悉的语言(AWK)手动完成此操作。我想要的输出真的是:

'baseball','football','softball','soccer','warm'
'hockey','curling','luge','snowshoe','cold'

1 个答案:

答案 0 :(得分:0)

你的结果实际上是一个字符串列表,为了得到你想要的输出,你可以这样做,例如:

 if results:
      with open (filename, "w") as fileout:
          for line in results
              fileout.write(line)