我正在尝试使用转换字符串的 json.org 库将 json 文件转换为 xml。但是我有一个大文件,无法存储在缓存中,所以我想在转换时写入。有人知道我应该如何去做吗?
到目前为止:
BufferedReader br = new BufferedReader(new FileReader(FILE_NAME));
private String line;
while((line=br.readLine())!=null){
JSONObject json = new JSONObject(line));
String xml = XML.toString(json);
// Write on OUTPUT_FILE_NAME
}
最佳答案
如果您没有绑定(bind)到 json.org
,您可以随时尝试使用 Jackson 进行低级流式传输。以及 jackson-dataformat-xml 中的 json 到 xml 支持.
JsonFactory jf = new JsonFactory();
JsonParser jp = jf.createParser(...);
XmlFactory xf = new XmlFactory();
JsonGenerator xg = xf.createGenerator(...);
xg.writeFieldName("root"); // need a root element
JsonToken t = null;
while((t = jp.nextToken()) != null) {
switch(t) {
case START_OBJECT:
xg.writeStartObject();
break;
case END_OBJECT:
xg.writeEndObject();
break;
case START_ARRAY:
xg.writeStartArray();
break;
case END_ARRAY:
xg.writeEndArray();
break;
case FIELD_NAME:
xg.writeFieldName(jp.getCurrentName());
break;
case VALUE_STRING:
xg.writeString(jp.getText());
break;
case VALUE_FALSE:
xg.writeBoolean(false);
break;
case VALUE_TRUE:
xg.writeBoolean(true);
break;
// some tokens missing here
}
}
关于java - 将大 JSON 文件转换为 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33670830/