我正在尝试用我已经获得的json响应创建一个xsd文件,然后使用该xsd生成JAXB类。我的问题是json是一种我无法转换为xsd的格式。这是我的json:
{
"result1":[{"010201":[3,2,0,4,3,4]},{"010202":[1,6,3,2,2,2]},{"010203":[2,3,3,4,4,0]}],
"result2":[1,6,3,2,2,2],
"result3":[{"010201":[3,2,0,3,4]},{"010202":[1,6,3,2,2]},{"010203":[2,3,4,4,0]}],
"result4":[1,4,6,4,1],
"result5":[{"010201":34},{"010202":12},{"010203":78}],
"result6":41
}
以上是xml格式的上述json:
<?xml version="1.0" encoding="UTF-8" ?>
<result1>
<010201>3</010201>
<010201>2</010201>
<010201>0</010201>
<010201>4</010201>
<010201>3</010201>
<010201>4</010201>
</result1>
<result1>
<010202>1</010202>
<010202>6</010202>
<010202>3</010202>
<010202>2</010202>
<010202>2</010202>
<010202>2</010202>
</result1>
<result1>
<010203>2</010203>
<010203>3</010203>
<010203>3</010203>
<010203>4</010203>
<010203>4</010203>
<010203>0</010203>
</result1>
<result2>1</result2>
<result2>6</result2>
<result2>3</result2>
<result2>2</result2>
<result2>2</result2>
<result2>2</result2>
<result3>
<010201>3</010201>
<010201>2</010201>
<010201>0</010201>
<010201>3</010201>
<010201>4</010201>
</result3>
<result3>
<010202>1</010202>
<010202>6</010202>
<010202>3</010202>
<010202>2</010202>
<010202>2</010202>
</result3>
<result3>
<010203>2</010203>
<010203>3</010203>
<010203>4</010203>
<010203>4</010203>
<010203>0</010203>
</result3>
<result4>1</result4>
<result4>4</result4>
<result4>6</result4>
<result4>4</result4>
<result4>1</result4>
<result5>
<010201>34</010201>
</result5>
<result5>
<010202>12</010202>
</result5>
<result5>
<010203>78</010203>
</result5>
<result6>41</result6>
我在为result2,result4,result6元素创建复杂类型时没有遇到任何问题。但是result1,result3和result5有一个整数数组。我如何为此创建一个xsd?有人可以帮忙吗?
答案 0 :(得分:0)
考虑尝试使用XSD生成如下所示的XML:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<result1>
<entry>
<key>010201</key>
<value>
<val>3</val>
<val>2</val>
<val>1</val>
</value>
</entry>
<entry>
<key>010201</key>
<value>
<val>3</val>
<val>2</val>
<val>1</val>
</value>
</entry>
</result1>
<result2>
<value>
<val>3</val>
<val>2</val>
<val>1</val>
</value>
</result2>
<result3>
<entry>
<key>010201</key>
<value>
<val>3</val>
<val>2</val>
<val>1</val>
</value>
</entry>
<entry>
<key>010201</key>
<value>
<val>3</val>
<val>2</val>
<val>1</val>
</value>
</entry>
</result3>
<result4>
<value>
<val>3</val>
<val>2</val>
<val>1</val>
</value>
</result4>
<result5>
<entry>
<key>010201</key>
<value>2</value>
</entry>
<entry>
<key>010201</key>
<value>2</value>
</entry>
</result5>
</root>
上面的xsd会更简单。如果值将发生变化,则将值保留为XML标记将不可行。