【问题标题】:Get correct data from JsonObject从 JsonObject 获取正确的数据
【发布时间】:2023-04-10 16:42:02
【问题描述】:

从 JsonObject 中获取正确的数据..

这是 jsonstring 的样子:

[
  {
    "EditLink": "http:\/\/localhost:8080\/Service.svc\/A?format=json",
    "Item": { "Value": "A" }
  },
  {
    "EditLink": "http:\/\/localhost:8080\/Service.svc\/B?format=json",
    "Item": { "Value": "B" }
  },
  {
    "EditLink": "http:\/\/localhost:8080\/Service.svc\/C?format=json",
    "Item": { "Value": "C" }
  }
]

怎么可能只获取值?

【问题讨论】:

  • 您能详细说明一下吗?你想用什么来获得价值? C#? Javascript?
  • 所以选择你的库来解析 JSON 然后......剩下的就像做一个盒子蛋糕一样简单。您可能能够找到一个支持“选择器”的库,否则它将只是沿着上述结构的简单树遍历。 (Java 不是处理数据结构最“紧凑”的语言。)

标签: java json wcf


【解决方案1】:

如果你想得到一个值的集合,你可以编写一个例程来做到这一点:

function getItems(jsonArray) {
    var list = [];

    for (var i = 0; i < jsonArray.length; i++) {
       list.push(jsonArray[i].Item.Value);
    }

    return list;
}

【讨论】:

    【解决方案2】:

    使用Jackson 1.6,您可以获得如下值:

    ObjectMapper mapper = new ObjectMapper();
    JsonNode root = mapper.readTree(json);
    List<JsonNode> values = root.findValues("Value");
    // or if you want values as String, use "findValuesAsText" to get List<String>
    

    您可以通过 JsonNode 访问器访问特定类型(数字、布尔值等)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-03
      • 1970-01-01
      相关资源
      最近更新 更多