JSON根元素和编码

时间:2018-11-26 13:20:20

标签: javascript java json

我正在从Java中反序列化JSON,如下所示:

Java

jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(graphDTO);

JSON

  "accounts" : [ {
    "name" : "1009427721",
    "value" : 16850.79,
    "children" : [ {
      "name" : "BITCOIN EARNINGS",
      "value" : 10734.24,
      "children" : [ {
        "name" : "2017",
        "value" : 1037.82,
        "children" : [ {
          "name" : "07",
          "value" : 518.91
        } ]
      } ]
    },  ...

反序列化的Java POJO为:

public class GraphDTO {

    private Set<Account> accounts = new HashSet<>();

    public Set<Account> getAccounts() {
        return accounts;
    }
}

问题

  1. 如何从生成的JSON(第一行)中删除“帐户”?
  2. 将JSON表单注入JavaScript,我得到一个编码形式,例如: var data = { &#034;accounts&#034; : [ { ... 如何避免这种情况?

2 个答案:

答案 0 :(得分:1)

我认为不可能避免使用accounts,但是您可以这样做:

jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(graphDTO.getAccounts());

我们正在等待您解析javascript中的JSON ...

答案 1 :(得分:0)

它的工作原理如下:

  1. 应用Mohicane的答案:

    mapper.writerWithDefaultPrettyPrinter().writeValueAsString(graphDTO.getAccounts())

  2. 使用以下方法将JSON从Java注入JavaScript(在JSP中):

    var data = ${graphDTOJSON};

非常感谢!