如何在每个组值的json组名称中打印

时间:2012-04-24 06:16:40

标签: java json

我是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);        

}

}

实际上它以这种格式打印

<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结构,请帮助我任何人

0 个答案:

没有答案