dictknifeのmkdictでJSONを生成する時に不格好だけれど任意の配列も許すようにした
昨日のこの記事の続き。
不格好だけれど、配列(pythonではlist)をサポートした。
name | description |
---|---|
xs/0/ |
xs[0] の意味 |
xs/-1/ |
xs[-1] の意味 |
xs// |
xs.append の意味 |
例
最終的な値が配列の場合
$ dictknife mkdict xs/ a xs/ b xs/ c { "xs": [ "a", "b", "c" ] }
最終的な値がオブジェクトの配列の場合
$ dictknife mkdict xs//name a xs//name b xs//name c { "xs": [ { "name": "a" }, { "name": "b" }, { "name": "c" } ] }
オブジェクトが複数のフィールドを持った場合
$ dictknife mkdict xs//name a xs/-1/age 20 xs//name b xs/-1/age 10 { "xs": [ { "name": "a", "age": 20 }, { "name": "b", "age": 10 } ] }
まじめに全部indexを指定しても良い。
$ dictknife mkdict xs/0/name a xs/0/age 20 xs/1/name b xs/1/age 10 { "xs": [ { "name": "a", "age": 20 }, { "name": "b", "age": 10 } ] }
添字で位置を指定して生成も可能
$ dictknife mkdict xs/1/name a xs/1/age 20 xs/0/name b xs/0/age 10 { "xs": [ { "name": "b", "age": 10 }, { "name": "a", "age": 20 } ] }
余ったものは空オブジェクト
$ dictknife mkdict xs/5/name a xs/5/age 20 { "xs": [ {}, {}, {}, {}, {}, { "name": "a", "age": 20 } ] }
変数と一緒に使う
$ dictknife mkdict @xs/0/name a @xs/0/age 20 @xs/1/name b @xs/1/age 10 names/ "&xs/0/name" names/ "&xs/1/name" { "names": [ "a", "b" ] }