我第一次使用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"
答案 0 :(得分: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
答案 1 :(得分:0)
@yaccob的解决方案对我有用。只需添加Loader yaml.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