Golang: Convert JSON to Struct
jmervine/gojson-http
このツールを見てたら自分の知らないstructの定義の仕方があったのでこれをXMLでも出来るよなと思ってやってみた。
以前は struct を3つ定義していたものが改修してみる。
type AllowAccessFrom struct { // attributeを取るときは"属性,attr"の形式で取得できる Domain string `xml:"domain,attr"` Secure bool `xml:secure,attr` } type SiteControl struct { // これも上と同じ Pemission string `xml:"permitted-cross-domain-policies,attr"` } type CrossDomainPolicy struct { // タグとフィールドが一致しない場合は `xml:タグ名` で取得 Policies SiteControl `xml:"site-control"` DomainList []AllowAccessFrom `xml:"allow-access-from"` }
json2struct でやってる方法を真似てみる。すると、これぐらいにコードが短くなった。 これのほうが可読性が高そうな印象。
type CrossDomainPolicy struct { Policies struct { Pemission string `xml:"permitted-cross-domain-policies,attr"` } `xml:"site-control"` DomainList []struct { Domain string `xml:"domain,attr"` Secure bool `xml:secure,attr` } `xml:"allow-access-from"` }
2015/05/28追記
http://mervine.net/json2struct/
今見るとツールが落ちてるみたいなのでソースから自前でサーバーたてろってことなのかな。