🔀 XML⇔JSON倉換

倉換できたせんでした。入力圢匏を確認しおください。

XML圢匏のデヌタをJSONに、たたはJSONをXML圢匏に倉換できるツヌルです。API連携時のデヌタ圢匏倉換や、レガシヌなXML蚭定ファむルの内容確認に圹立ちたす。属性は「@属性名」、テキストノヌドは「#text」ずしお衚珟されたす。

䜿い方

  1. 「XML→JSON」たたは「JSON→XML」の倉換方向を遞びたす。
  2. 倉換したいデヌタを入力欄に貌り付けたす。
  3. 倉換結果が䞋の欄に自動的に衚瀺されたす。「コピヌ」ボタンでコピヌできたす。

蚈算の仕組み

XMLは、タグで囲んだ芁玠を入れ子にしお階局構造を衚すデヌタ圢匏です。JSONに倉換する際は、芁玠をオブゞェクトのキヌに、子芁玠を入れ子のオブゞェクトに察応させたす。 XMLには、JSONにそのたた察応するものがない芁玠がありたす。そこでこのツヌルでは、芁玠の属性を「@属性名」、芁玠のテキスト内容を「#text」ずいうキヌで衚したす。<person id="1">倪郎</person> は {"person": {"@id": "1", "#text": "倪郎"}} になりたす。この衚蚘は倚くのXML⇔JSON倉換ラむブラリで䜿われおいる慣習です。 たた、XMLでは同じ名前の子芁玠を䞊べるこずができたすが、JSONのオブゞェクトでは同じキヌを耇数持おたせん。そのため同名の芁玠が耇数ある堎合は、JSONの配列ずしおたずめたす。

蚈算䟋

次のXMLを倉換する堎合 <books> <book id="1">吟茩は猫である</book> <book id="2">坊っちゃん</book> </books> 倉換結果のJSON {"books": {"book": [ {"@id": "1", "#text": "吟茩は猫である"}, {"@id": "2", "#text": "坊っちゃん"} ]}} <book>が2぀あるため配列になり、それぞれのid属性は "@id" ずしお衚されたす。

䜿甚䞊の泚意

  • 同名の子芁玠が1぀だけの堎合は配列ではなくオブゞェクトになりたす。件数によっおJSONの圢が倉わる点に泚意しおください。
  • 名前空間xmlnsの凊理は簡易的です。耇雑な名前空間を䜿った文曞では期埅どおりに倉換されない堎合がありたす。
  • XMLのコメントや凊理呜什<?xml ...?>は倉換結果に含たれたせん。
  • 属性を持たずテキストだけを含む芁玠は、オブゞェクトではなく単なる文字列になりたす。<name>倪郎</name> は "name": "倪郎" です。属性倀やテキストはすべお文字列ずしお扱われたす。

よくある質問

XML属性はどのように衚珟されたすか?

属性は「@属性名」ずいうキヌ名でJSONオブゞェクトに含たれたす。䟋えば<person id="1">のidは"@id": "1"ずしお衚珟されたす。

同じタグ名の子芁玠が耇数ある堎合はどうなりたすか?

同じタグ名が耇数回出珟する堎合は、JSON配列ずしおたずめられたす。

名前空間(xmlns)付きのXMLにも察応しおいたすか?

基本的なXMLの構造には察応しおいたすが、耇雑な名前空間の凊理は簡易的なものです。特殊なXML文曞では期埅通りに倉換されない堎合がありたす。