Как конвертировать XML в JSON в Java?
Как конвертировать XML в JSON в сервлете Java.
<?xml><SOAP-ENV:Envelope xmlns:xsd= "http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:HNS="http://tempuri.org/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header><HNS:ROClientID SOAP-ENV:mustUnderstand="0">{6C9A8E69-2018-4090-8FA7-DEB98300E102}</HNS:ROClientID></SOAP-ENV:Header><SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ro="http://tempuri.org/"><NS1:GetStationListResponse xmlns:NS1="urn:WOOSServices-WOrbitService"><Stations xsi:type="xsd:string"></Stations><Result xsi:type="xsd:string">{
"MOColmns": [
{
"MOTitle": "Description"
},
{
"MOTitle": "station_name"
},
{
"MOTitle": "StationID"
},
{
"MOTitle": "StationINT"
}
]
}</Result></NS1:GetStationListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>";
String xml = "<xx yy='nn'><mm>zzz</mm></xx>";
JSONArray json = (JSONArray) XMLSerializer.read(xml);
System.out.println( json );
Помогите мне, пожалуйста.
4 ответа
Вы можете получить набор классов Java для обработки JSON по адресу http://json.org/java/
Там вы можете найти, среди прочего, классы XML и JSONObject. Этот код может работать для вас:
public String XMLtoJSON(String xml) {
JSONObject jsonObj = XML.toJSONObject(xml);
String json = jsonObj.toString();
return json;
}
Вам нужно импортировать org.json.XML в ваш класс для разрешения XML. Или поместите org.json.XML в ваш путь к классам.
Underscore-java может конвертировать xml в json. Я поддерживаю проект. Живой пример
import com.github.underscore.lodash.U;
String xml = "<xx yy=\"nn\"><mm>zzz</mm></xx>";
String json = U.xmlToJson(xml);
System.out.println(json);
Underscore-java может конвертировать xml в json.
import com.github.underscore.lodash.U;
String xml = "<xx yy=\"nn\"><mm>zzz</mm></xx>";
String json = U.xmlToJson(xml);
System.out.println(json);