TCL Dict到JSON
我试图将dict转换为JSON格式,但没有看到任何使用TclLib JSON包的简单方法。比如说,我对dict的定义如下:TCL Dict到JSON,json,dictionary,tcl,Json,Dictionary,Tcl,我试图将dict转换为JSON格式,但没有看到任何使用TclLib JSON包的简单方法。比如说,我对dict的定义如下: set countryDict [dict create USA {population 300 capital DC} Canada {population 30 capital Ottawa}] 我想将其转换为json格式,如下所示: { "USA": { "population": 300, "c
set countryDict [dict create USA {population 300 capital DC} Canada {population 30 capital Ottawa}]
我想将其转换为json格式,如下所示:
{
"USA": {
"population": 300,
"captial": "DC"
},
"Canada": {
"population": 30,
"captial": "Ottawa"
}
}
(“人口”是数字,大写是字符串)。我正在使用TclLib json包()。任何帮助都将不胜感激。您似乎希望“直接去那里”的方法有两个问题:
资本
变为资本
。为了额外的乐趣。(希望这只是你的打字错误,但我们会处理的。)$result
是输出的“生产”版本,您可以使用它进行进一步处理,但它没有多余的空格(当您处理超过100MB的文档时,这是一个很好的选择)
注:
- 初始JSON对象可以这样做:
这也同样有效(并且是相同的Tcl字节码)set result "{}"
将项目放入对象或数组;这正是我们在这里想要的(在json集
检查输入数据)dict中,
使用可选字典将模板中的替换名称映射到值;这非常适合您的用例。否则,我们就必须用数据{}进行dict,将字典的内容映射到变量中,而当输入数据没有严格控制时,这就不够完美了json模板
的模板参数的内容本身就是json。叶字符串值中的json模板
前缀表示“将其替换为替换名为…”的数字,~N:
表示“将其替换为替换名为…”的字符串。还有其他的~S:
配置——使用tcl=/directory/containing/tclclconfig.sh/
+make。该许可证看起来像是tcl许可证(包括奇怪的美国政府条款,该条款用这么多的话说得这么少),许可人的名字被归档并替换。
set result "{}"