Gibt es eine Möglichkeit, JSON in Ruby in XML zu konvertieren?Wie kann ich JSON in Ruby in XML konvertieren?
Antwort
require 'active_support' #for to_xml() 'gem install activesupport' use the 2.3 branch
require 'json' #part of ruby 1.9 but otherwise 'gem install json'
my_json = "{\"test\":\"b\"}"
my_xml = JSON.parse(my_json).to_xml(:root => :my_root)
Beachten Sie auch das Root-Argument von to_xml. Wenn Sie keinen Root angeben, wird das Wort 'hash' als Root verwendet, was nicht besonders schön ist.
Benötige ich einen Edelstein für den 'active_support'? Ich bekomme einen Fehler, wenn ich versuche, es zu "fordern". –
ja. Active Support ist Teil von Ruby on Rails. Sie sollten es mit 'gem install activesupport' installieren können. – rwilliams
Jetzt, wenn ich versuche, es auszuführen, erhalte ich den folgenden Fehler: 'undefinierte Methode' to_xml 'für #
ich weiß nicht, ein magisches Juwel, es zu tun, aber was Sie leicht tun können, ist Xml zu Hash und Hash zu Json.
require 'active_support'
my_hash = Hash.from_xml(my_xml)
dann
require 'json'
my_json = my_hash.to_json
Ich versuche, JSON in XML zu konvertieren, nicht XML in JSON –
Werden diese merkwürdigen Zitate überhaupt funktionieren? Das sieht nicht besonders gesund aus. – jwueller
@belusive: Ja, sie sehen auch funky aus. Ich denke, sie sind schlaue Zitate. –
In Bezug auf @rwilliams aka r-dub Antwort:
ActiveSupport moved its components in separate Module für die Granularität. Anstatt alles auf einmal zu laden, können wir ihm sagen, dass er nur bestimmte Teilmengen laden soll, oder, wenn wir noch wählen, können wir alles auf einmal laden. Egal was, wir können require 'activesupport'
nicht wie früher verwenden, stattdessen müssen wir require 'activesupport/all'
oder einen der Subsets verwenden.
>> require 'active_support/core_ext/array/conversions' #=> true
>> [{:a => 1, :b => 2}, {:c => 3}].to_xml
=> "<?xml version="1.0" encoding="UTF-8"?>\n<objects type="array">\n <objects a="1" b="2" type="hash"/>\n <objects c="3" type="hash"/>\n</objects>\n"
Darüber hinaus enthält Active JSON-Unterstützung, so dass Sie die gesamte Umwandlung mit AR tun können:
>> require 'active_support/all' #=> true
>> json = {'foo'=>'bar'}.to_json #=> "{"foo":"bar"}"
>> ActiveSupport::JSON.decode(json).to_xml #=> "<?xml version="1.0" encoding="UTF-8"?>\n<hash>\n <foo>bar</foo>\n</hash>\n"
Die erste Zeile lädt in den XML- und JSON-Konvertierungen. In der zweiten Zeile wird ein JSON-Beispiel zum Testen eingerichtet. Die dritte Zeile nimmt den JSON vor, dekodiert ihn und konvertiert ihn dann in XML.
Die anderen Antworten erlauben keine einfachen rekursiven Konvertierungen. Wie in this answer on Code Review erläutert, benötigen Sie einen benutzerdefinierten Helfer, um das einfache Format zu erstellen, nach dem Sie suchen.
Es wird diese drehen ...
data = [
{ 'name' => 'category1',
'subCategory' => [
{ 'name' => 'subCategory1',
'product' => [
{ 'name' => 'productName1',
'desc' => 'desc1' },
{ 'name' => 'productName2',
'desc' => 'desc2' } ]
} ]
},
{ 'name' => 'category2',
'subCategory' => [
{ 'name' => 'subCategory2.1',
'product' => [
{ 'name' => 'productName2.1.1',
'desc' => 'desc1' },
{ 'name' => 'productName2.1.2',
'desc' => 'desc2' } ]
} ]
},
]
... in diese:
<?xml version="1.0"?>
<root>
<category>
<name>category1</name>
<subCategory>
<name>subCategory1</name>
<product>
<name>productName1</name>
<desc>desc1</desc>
</product>
<product>
<name>productName2</name>
<desc>desc2</desc>
</product>
</subCategory>
</category>
<category>
<name>category2</name>
<subCategory>
<name>subCategory2.1</name>
<product>
<name>productName2.1.1</name>
<desc>desc1</desc>
</product>
<product>
<name>productName2.1.2</name>
<desc>desc2</desc>
</product>
</subCategory>
</category>
</root>
- 1. JSON in XML konvertieren und XML speichern
- 2. Konvertieren von JSON in XML
- 3. xml in json android konvertieren
- 4. konvertieren Xml nach JSON in Java
- 5. Ruby: Wie kann ich ein Array von Daten in Hash- und in JSON-Format konvertieren?
- 6. Konvertieren von JSON zu XML in Java
- 7. Konvertieren Sie eine beliebige Zeichenfolge in xml in Ruby
- 8. wie konvertieren xml json mit Jquery
- 9. Konvertieren von XML in JSON mithilfe von R XML
- 10. Griff json in Ruby
- 11. Wie kann ich JSON-String in google.visualization.DataTable konvertieren?
- 12. Wie kann ich Xml nach Json konvertieren und umgekehrt in C#
- 13. Wie konvertiere ich einen Ruby-Hash in XML?
- 14. Sammlung in Ruby konvertieren
- 15. Wie kann ich das folgende JSON in ein JSON konvertieren, das von JSTree verwendet werden kann
- 16. XML in Json konvertieren und XML-Deklaration aus konvertiertem Json entfernen
- 17. Wie kann ich JSON in Perl parsen?
- 18. Wie konvertiert man XML-Code in JSON
- 19. Konvertieren einer Ruby-Hash in JSON (ohne Escape-Zeichen)
- 20. JSON in .plist konvertieren
- 21. Java - Konvertieren von JSON in XML unter Beibehaltung der Attribute
- 22. C# JSON in XML konvertieren, aber einige Eigenschaften ignorieren
- 23. Konvertieren von XML in Json Array, wenn nur ein Objekt
- 24. SQLite in JSON konvertieren
- 25. String kann nicht in JSON konvertieren
- 26. Kann nicht konvertieren JSON in Python Liste
- 27. Konvertieren von XML zu JSON-Objekt in Android
- 28. Konvertieren von XML in JSON (und zurück) mit Javascript
- 29. Kann ich einen JSON-String in JsonResult konvertieren?
- 30. Kann ich ein Odoo-Browse-Objekt in JSON konvertieren
ich hinzugefügt, um die 'activesupport' Tag und wandte sich Ihren Titel in eine Frage. –