1

私はJavaに非常に慣れていません。実際、JsonファイルをXMLに変換しています。正常に動作していますが、ある意味でグループ名が各グループ値に対して出力されていません。私はこのようなJsonを持っています

{
    "a": "b",
    "r": "y",
    "g1": [
        {
            "gg1": 1,
            "gg2": 2,
            "gg3": 3
        },
        {
            "gg4": 4",
            "gg5": 5",
            "gg6": 6"
        }
    ]
}

ネットから入手したこのJavaコードを使用しています

import java.io.InputStream;

import net.sf.json.JSON;
import net.sf.json.JSONSerializer;
import net.sf.json.xml.XMLSerializer;

import org.apache.commons.io.IOUtils;
import java.io.*;

import org.apache.commons.io.IOUtils;

public class ConvertJSONtoXMLSetRoot {

public static void main(String[] args) throws Exception {
    InputStream is = ConvertJSONtoXMLSetRoot.class.getClassLoader().getResourceAsStream("json file");
    String jsonData = IOUtils.toString(is);

    XMLSerializer serializer = new XMLSerializer(); 
    JSON json = JSONSerializer.toJSON( jsonData ); 
    serializer.setRootName("SampleJSON");
    serializer.setTypeHintsEnabled(false);
    String xml = serializer.write( json );  
    System.out.println(xml);        

}

}

実際には、この形式で s を出力します

<a>b</a>
<r>y</r>
<g1>
    <e>
        <gg1>1</gg1>
        <gg2>2</gg2>
        <gg3>3</gg3>
    </e>
    <e>
        <gg4>4</gg4>
        <gg5>5</gg5>
        <gg6>6</gg6>
    </e>
</g1>

しかし、私はこの形式で出力したい

<a>b</a>
<r>y</r>
<g1>
    <gg1>1</gg1>
    <gg2>2</gg2>
    <gg3>3</gg3>
</g1>
<g1>
    <gg4>4</gg4>
    <gg5>5</gg5>
    <gg6>6</gg6>
</g1>

コードを変更する必要があるか、Json 構造を変更する必要があるかはわかりません。誰か助けてください

4

0 に答える 0