java - 将大 JSON 文件转换为 XML

标签 java json xml string buffer

我正在尝试使用转换字符串的 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/

相关文章:

json - Python 在读取 JSON 文件时抛出错误

java - 使用 HTML 代码处理 XML 的简单方法?

JavaScript 递归将列表格式从 XML 转换为 HTML

xml - 从 mulesoft 中的 xml 列表中提取特定的 xml 节点

java - 如何从任务内部设置 Var?

java - 安卓房间: error: setValue(T) has protected access in LiveData

javascript - 使用键模式读取 JSON 对象值

java - Quickfixj 绕过配置文件并以编程方式执行

java - 如何创建初始上下文以连接到sql server

c# - 字符串数组转换为准备好进行 JSON 格式化的字符串