TCL到JSON:使用JSON::write-aligned方法

TCL到JSON:使用JSON::write-aligned方法,json,tcl,Json,Tcl,在使用json::write时,我面临将json数据对齐到一行的问题 例如,tcl dict是 set arr {a b c d} 转换为json foreach {key value} $arr { puts [json::write string {*}$value] } 输出: { "a" : "b", "c" : "d" } 在何处使用[json:write aligned]将上述输出转换为{“a”:“b”,“c”:“d”}要更改缩进的标志: % package

在使用
json::write
时,我面临将json数据对齐到一行的问题

例如,tcl dict是

set arr {a b c d}
转换为json

foreach {key value} $arr {
    puts [json::write string {*}$value]
}
输出:

{
   "a" : "b",
   "c" : "d"
}

在何处使用
[json:write aligned]
将上述输出转换为
{“a”:“b”,“c”:“d”}

要更改缩进的
标志:

% package req json::write
1.0.3
% set arr {a b c d}
a b c d

% json::write indented
1
% json::write  object {*}$arr
{
    "a" : b,
    "c" : d
}

% json::write indented false
false
% json::write  object {*}$arr
{"a":b,"c":d}
嗯,我看到值没有被引用

% for {set i 1} {$i < [llength $arr]} {incr i 2} {lset arr $i [json::write string [lindex $arr $i]]}
% set arr
a {"b"} c {"d"}
% json::write object {*}$arr
{"a":"b","c":"d"}

您要更改缩进的
标志:

% package req json::write
1.0.3
% set arr {a b c d}
a b c d

% json::write indented
1
% json::write  object {*}$arr
{
    "a" : b,
    "c" : d
}

% json::write indented false
false
% json::write  object {*}$arr
{"a":b,"c":d}
嗯,我看到值没有被引用

% for {set i 1} {$i < [llength $arr]} {incr i 2} {lset arr $i [json::write string [lindex $arr $i]]}
% set arr
a {"b"} c {"d"}
% json::write object {*}$arr
{"a":"b","c":"d"}

对于
,使用
dict map
代替
?对于
,使用
dict map
代替