gpt4 book ai didi

java - 如何在java中制作分层Json

转载 作者:行者123 更新时间:2023-12-01 13:37:56 25 4
gpt4 key购买 nike

我需要制作一个类似于树节点的 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 非常简单。为每个唯一类型(任何不是像 intString 这样的原语的类型)创建一个 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com