2013-05-13 1 views
3

Ниже json преобразован в xml с помощью утилиты json-lib.Как форматировать элементы массива во время преобразования json в xml с помощью json-lib?

{ 
   "tms:getTaskListResponse": { 
      "tms:task": [ 
         { 
            "tms:creationDate": "2013-05-06T12:02:21.530+05:30", 
            "tms:instanceId": "403" 
         }, 
         { 
            "tms:creationDate": "2013-05-06T12:04:50.730+05:30", 
            "tms:instanceId": "1224" 
         } 
      ] 
   } 
} 

код используется:

XMLSerializer serializer = new XMLSerializer(); 
serializer.setRootName("root"); 
serializer.setTypeHintsEnabled(false); 
JSON json = JSONSerializer.toJSON(jsonString); 
String xmlResponse = serializer.write(json); 

<root> тег был удален. После удаления OUTPUT XML:

<?xml version="1.0" encoding="UTF-8"?> 
<tms:getTaskListResponse > 
    <tms:task> 
     <e> 
     <tms:creationDate>2013-05-06T12:02:21.530+05:30</tms:creationDate> 
     <tms:instanceId>403</tms:instanceId> 
     </e> 
     <e> 
     <tms:creationDate>2013-05-06T12:04:50.730+05:30</tms:creationDate> 
     <tms:instanceId>1224</tms:instanceId> 
     </e> 
    </tms:task> 
</tms:getTaskListResponse> 

ОЖИДАЕМЫЕ ФОРМАТ:

<?xml version="1.0" encoding="UTF-8"?> 
<tms:getTaskListResponse > 
    <tms:task> 
     <tms:creationDate>2013-05-06T12:02:21.530+05:30</tms:creationDate> 
     <tms:instanceId>403</tms:instanceId> 
    </tms:task> 
    <tms:task> 
     <tms:creationDate>2013-05-06T12:04:50.730+05:30</tms:creationDate> 
     <tms:instanceId>1224</tms:instanceId> 
    </tms:task> 
</tms:getTaskListResponse> 

Есть ли способ настроить преобразование XML в ожидаемом формате XML?

ответ

0

я не нашел решения с использованием JSON-Lib

Вы можете получить ожидаемый результат легко с помощью библиотеки из json.org Intead.

Вот Maven зависимостей, если вы хотите

<dependency> 
    <groupId>org.json</groupId> 
    <artifactId>json</artifactId> 
    <version>20140107</version> 
</dependency> 

Вот код, который я использовал, чтобы получить результат:

import org.json.JSONObject; 
import org.json.XML; 

    String jsonString = "{ \"tms:getTaskListResponse\": {  \"tms:task\": [   {   \"tms:creationDate\": \"2013-05-06T12:02:21.530+05:30\",   \"tms:instanceId\": \"403\"   },   {   \"tms:creationDate\": \"2013-05-06T12:04:50.730+05:30\",   \"tms:instanceId\": \"1224\"   }  ] }}"; 

    JSONObject json = new JSONObject(jsonString); 
    String xmlResponse = XML.toString(json); 

    System.out.println(xmlResponse);