Java映射-将Xml转换为Json-带数组

2020-08-14 06:12发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨大师! 我在描述将Xml转换...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨大师!

我在描述将Xml转换为Json的Java代码时遇到问题。

我在博客中看到任何代码,但是所有这些代码都与Array有关。

这是我的目标:

但是我的Java代码正在生成此Json:

有人可以帮助我如何正确创建此代码? 我会感激的!

(14.1 kB)
7条回答
骆驼绵羊
2020-08-14 06:30

嗨,Sugata! !

我拥有与您创建的相同的代码。

package Xml2Json;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
导入java.io.InputStreamReader;
导入java.io.OutputStream;
导入java.io.StringWriter;
导入java.util.Map;
< br> import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.json.JSONObject;
import org.json.XML;
import org.w3c.dom.Document;
import org.w3c.dom.Node;

import com.sap.aii.mapping.api .AbstractTransformation;
导入com.sap.aii.mapping.api.StreamTransformationException;
导入com.sap.aii.mapping.api.TransformationInput;
导入com.sap.aii.mapping.api.TransformationOutpu t;

公共类MakeItJSON扩展了AbstractTransformation
{
public static int PRETTY_PRINT_INDENT_FACTOR = 4;


public MakeItJSON(){}

public void transform(TransformationInput in,TransformationOutput out)抛出StreamTransformationException
{
try {
字符串sourcexml ="";
字符串targetfile ="";
字符串line ="";

< br>
InputStream ins = in.getInputPayload()。getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(ins));

while((line = br.readLine() )!= null){
sourcexml = sourcexml + line;
}


JSONObject jsonObject = XML.toJSONObject(sourcexml);
字符串jsonPrettyPrintString = jsonObject.toString(PRETTY_PRINT_INDENT_FACTOR) ;


targetfile = jsonPrettyPrintString;

out.getOutputPayload()。getOutputStream()。write(targetfile.getBytes());
}
catch(Exception e )
{
e.printStackTrace();
}
}
}

但是如果我放置更多"项目",则json代码不会创建所有项目。

一周热门 更多>