2016-09-20 87 views
0

我有下面的XML:XML到JSON與改造

<ArrayOfAnyType xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <anyType xsi:type="xsd:dateTime">2016-09-14T13:58:30Z</anyType> 
    <anyType xsi:type="xsd:decimal">1.2</anyType> 
</ArrayOfAnyType> 

而且我也解編以下結構:

type Value struct { 
    Data []Data `xml:"anyType"` 
} 

type Data struct { 
    Key string `xml:"http://www.w3.org/2001/XMLSchema-instance type,attr"` 
    Value string `xml:",chardata"` 
} 

我最終會喜歡他們元帥在這種結構的JSON :

{ 
    timestamp: [the value of xsi:type="xsd:dateTime"] 
    value: [the value of xsi:type="xsd:decimal"] 
} 

我是新去的,所以我不知道這甚至有可能。

回答

1

Go中的字段標籤允許指定任意數量的不同值 - 以空格分隔。 因此,在您的簡單情況下,只需在xml:"..."之後添加json:"value",然後將編組的 解組值更改爲JSON。

請注意,我的意思是一個標籤,而不是內部空間的空間分隔標籤:

Field string `xml:"myns Xyzzy" json:"Blorb"` 

在更復雜的情況下,可能需要它有不同類型的解編 和編組,並鏟數據與在這些類型的值之間需要中間轉換 。