¿Hay alguna forma de convertir JSON a XML en Ruby?¿Cómo puedo convertir JSON a XML en Ruby?
Respuesta
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)
También tenga en cuenta el argumento de la raíz de to_xml. Si no especifica una raíz, usará la palabra 'hash' como la raíz que no es muy buena de ver.
¿Necesito alguna joya para 'active_support'? Me aparece un error cuando intento 'requerir'. –
sí. Active Support es parte de Ruby on Rails. Debería poder instalarlo con 'gem install activesupport' – rwilliams
Ahora cada vez que intento ejecutarlo, aparece el siguiente error: 'método indefinido' to_xml 'for #
No conozco una joya mágica para hacerlo, pero lo que puedes hacer fácilmente es xml para hash y hash para json.
require 'active_support'
my_hash = Hash.from_xml(my_xml)
continuación
require 'json'
my_json = my_hash.to_json
Estoy tratando de convertir JSON a XML, no XML a JSON –
¿Funcionan esas citas extrañas, de todos modos? Esto no se ve muy saludable. – jwueller
@elusive: Sí, me parecen originales. Creo que son citas inteligentes. –
En cuanto @rwilliams aka r-dub respuesta:
ActiveSupport moved its components en módulos separados para granularidad. En lugar de cargar todo de una vez, podemos decirle que cargue solo ciertos subconjuntos, o, si todavía elegimos, podemos cargar todo a la vez. No importa qué, no podemos usar require 'activesupport'
como solíamos hacerlo, en su lugar tenemos que usar require 'activesupport/all'
o uno de los subconjuntos.
>> 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"
Además, ActiveSupport contiene soporte JSON, lo que puede hacer la conversión completa con AR:
>> 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"
Las primeras cargas de línea en las conversiones de XML y JSON. La segunda línea configura una muestra JSON para usar para la prueba. La tercera línea toma el supuesto JSON, lo decodifica y luego lo convierte a XML.
Las otras respuestas no permiten conversiones recursivas simples. Como se explica en this answer on Code Review, necesitará un ayudante personalizado para crear el formato simple que está buscando.
Es a su vez esta ...
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' } ]
} ]
},
]
... en esto:
<?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. ¿Cómo puedo convertir Xml a Json y viceversa en C#
- 2. cómo convertir XML a JSON usando jQuery
- 3. Convertir XML a formato JSON
- 4. Cómo convertir un objeto Ruby a JSON
- 5. ¿Cómo puedo convertir un archivo xml en JSON usando Python?
- 6. Cómo convertir XML (SOAP) a objeto JSON por JavaScript
- 7. Método más simple para convertir Json a Xml
- 8. Forma más rápida de convertir XML a JSON en Java
- 9. ¿Hay alguna forma de convertir json a xml en PHP?
- 10. Convertir objeto Scala a XML
- 11. Ruby: ¿Cómo puedo convertir una matriz de datos a hash y al formato json?
- 12. Convertir NSData a JSON
- 13. Convertir matriz a JSON
- 14. XML a JSON con Scala
- 15. cómo convertir JSON a cadena
- 16. convertir resultado mysqli a json
- 17. ¿Cómo convierto un hash Ruby a XML?
- 18. Convierta .json a .csv en ruby
- 19. Convertir XML a psobject
- 20. ¿Puedo convertir una cadena JSON en JsonResult?
- 21. convertir rss a JSON
- 22. ¿Serializar un objeto a JSON, XML, YAML?
- 23. Cómo convertir DateTime de JSON a C#?
- 24. Cómo convertir clases JSON a C#?
- 25. ¿Cómo convertir un objeto hash de rubí a JSON?
- 26. Convertir xml a Java Bean
- 27. Cómo convertir JSON a una cadena?
- 28. Cómo convertir a formato JSON de D3?
- 29. Convertir JSON alimentación a NSDictionary
- 30. ¿Cómo convertir POJO a JSON y viceversa?
que añade el 'activesupport' etiqueta y se volvió a su título en una pregunta. –