python - 将 json 转储到 yaml

标签 python json encoding yaml

我得到了一个 .json 文件(命名为 meta.json),如下所示:

{
    "main": {
        "title": "今日は雨が降って",
        "description": "今日は雨が降って"
    }
}

我想将其转换为 .yaml 文件(将其命名为 meta.yaml),例如:

title: "今日は雨が降って"
description: "今日は雨が降って"

我所做的是:

import simplejson as json
import pyyaml

f = open('meta.json', 'r')
jsonData = json.load(f)
f.close()

ff = open('meta.yaml', 'w+')
yamlData = {'title':'', 'description':''}
yamlData['title'] = jsonData['main']['title']
yamlData['description'] = jsonData['main']['description']
yaml.dump(yamlData, ff)
# So you can  see that what I need is the value of meta.json     

但遗憾的是,我得到的是:

{description: "\u4ECA\u65E5\u306F\u96E8\u304C\u964D\u3063\u3066", title: "\u4ECA\u65E5\
\u306F\u96E8\u304C\u964D\u3063"}

为什么?

最佳答案

pyyaml.dump() 有一个 allow_unicode 选项,默认为 None(输出中的所有非 ASCII 字符都被转义)。如果 allow_unicode=True,则它会写入原始 Unicode 字符串。

yaml.dump(data, ff, allow_unicode=True)

奖金

您可以转储不带编码的 JSON,如下所示:

json.dump(data, outfile, ensure_ascii=False)

关于python - 将 json 转储到 yaml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15941996/

相关文章:

python - 如何让 Luigi 任务自行关闭?

Python:如何保存二叉树?

javascript - 如何将纸张切换按钮状态绑定(bind)到其标签 - Polymer

python - Google API 读取 python 3 中的 .p12 key

java - Php 编码 - Java 解码(URL 部分)

python - 如何在 python 中从附近主机检索 MAC 地址?

python - 如何将两个或多个参数传递给 Button 命令?

python - 预期关键数据类型不匹配 : S actual: L Dynamodb insert error with boto3

jquery - 我如何通过ajax json tomcat从本地主机连接到另一台服务器

python - django loaddata 坚持将 xml 夹具读取为 ascii - 需要读取为 utf-8