0

我是第一次使用 yaml2json。我的操作系统是 Windows 7,我正在使用 git bash。可能是我错过了一些非常基本的东西,你们可以在这里帮助/指导我吗?

我尝试将 bash 文本处理命令的输出发送到 test.yml,我可以看到 test.yml 文件已正确创建。但是一旦我将它作为输入提供给 yaml2json,它只会解析第一行 "version" :1 并退出而没有任何错误。

但是,如果我尝试通过站点在线转换 test.yml 文件内容:-- http://yamltojson.com/--生成的 .json 是正确的。

以下是生成的 test.yml 文件的内容:--

version: 1
layout: post
lang: en
slug: "checklist"
type: "modal"
title: "Checklist"
published: "true"
categories: "mobile"
tags: "mobile"
action:

title: "Disguise Now" link: "close"
title: "Cancel" link: "home-ready" status: disabled checklist:
title: "Review security plan and update contacts regularly"

yaml2json 输出

4

2 回答 2

0

@yaccob 的解决方案对我有用。只需添加 Loaderyaml.load(sys.stdin, Loader=yaml.FullLoader参数即可避免弃用警告:

python2 -c 'import sys, json, yaml; print json.dumps(yaml.load(sys.stdin, Loader=yaml.FullLoader), indent=4)' < sample.yaml
于 2020-09-24T16:34:55.230 回答
0

我遇到了同样的问题并通过启动文档来解决它

---

所以例如...

---
    version: 1
    layout: post
    lang: en
    slug: "checklist"
    type: "modal"
    title: "Checklist"
    published: "true"
    categories: "mobile"
    tags: "mobile"

...效果很好,但可能无法解决您的问题,因为您使用的是生成的 yaml 文件。

yaml2json 存在更多问题(例如,将负数符号解释为列表项指示符)。所以在很多情况下,我使用简单的 python 脚本(提供 python 2.7 或更高版本)而不是使用 yaml2json。我能看到的唯一缺点是,与 yaml2json 相比,字典条目的顺序没有被保留,但这只是一个外观问题,而不是一个合乎逻辑的问题:

python -c 'import sys, json, yaml; print json.dumps(yaml.load(sys.stdin), indent=4)' < myyamlfile.yaml
于 2015-11-27T07:01:13.643 回答