我需要制作一个类似于树节点的 json 结构,其中有一些根节点并且它们有一些子节点。我的 json 结构就像我发布的那样..
{
chart: {
caption: "Subscriber Summary Percentage",
xAxisName: "Month",
yAxisName: "% Subscriber",
showvalues: "0",
palette: "1"
},
categories: [
{
category: [
{
label: "JAN"
},
{
label: "FEB"
},
{
label: "MAR"
},
{
label: "APR"
},
{
label: "MAY"
},
{
label: "JUN"
},
{
label: "JUL"
},
{
label: "AUG"
},
{
label: "SEP"
}
]
}
],
dataset: [
{
seriesname: "New Added",
data: [
{
value: "1.1887604"
},
{
value: "2.1255539"
},
{
value: "2.3852911"
},
{
value: "2.9953901000000003"
},
{
value: "2.5770609"
},
{
value: "2.8420104000000004"
},
{
value: "4.543343"
},
{
value: "3.7596994"
},
{
value: "5.0751309000000004"
}
]
},
{
seriesname: "Churned",
data: [
{
value: "2.4009264"
},
{
value: "2.4021593"
},
{
value: "2.8101032000000004"
},
{
value: "3.1267909000000005"
},
{
value: "3.790831"
},
{
value: "3.9487281"
},
{
value: "4.533631"
},
{
value: "5.0275186"
},
{
value: "5.4198564"
}
]
}
]
}
这是我的 json 结构有人可以帮助我吗?
最佳答案
您应该使用 API 来管理您的 JSON,有几个适用于 Java 的 API 可靠且快速。选择 https://stackoverflow.com/questions/338586/a-better-java-json-library 中提到的一个然后它会为你完成繁重的工作。如果您自己操作文本,很容易出错。
以下示例使用 Jackson 库(从 http://jackson.codehaus.org/ 下载该库),但类似的概念适用于大多数其他 JSON 库。
您的 JSON 非常简单。为每个唯一类型(任何不是像 int
或 String
这样的原语的类型)创建一个 Java POJO,然后用 @JsonProperty
注释它们, @XmlRootElement(name="")
或您的 API 使用的任何内容。
public class Chart{
@JsonProperty
public String caption;
@JsonProperty
public String xAxisName;
@JsonProperty
public String yAxisName;
@JsonProperty
public boolean showValues;
@JsonProperty
public int palette;
}
public class Categories{
@JsonProperty
public String[] category;//or whatever data type you're using, a tuple or something, category class array if you like
}
等等
然后最终
public class CategoryJSON{
@JsonProperty
public Chart chart;
@JsonProperty
public Categories category;
}
那么你的 API 应该知道如何自动序列化和反序列化该格式的 JSON,只需传递类类型即可。这是 jackson :
ObjectMapper mapper = new ObjectMapper();
CategoryJSON c = mapper.readValue(jsonInput, CategoryJSON.class); //read
System.out.println(mapper.writeValueAsString(c)); //write
关于java - 如何在java中制作分层Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21119907/