【问题标题】:How to extract Key Value from String(Char Array) in JAVA如何在 JAVA 中从字符串(字符数组)中提取键值
【发布时间】:2017-11-27 10:35:04
【问题描述】:

对不起,如果有人早点问这个问题,但我找不到相对的。

我的查询是

这样的字符串 -> {"value":123,"key":abc};

换成=>

String str = ['"','v','a','l','u','e',':','1','2','3',',','k','e','y',':','a','b','c','"']; // char array

str[0] 将是 ",str[1] 将是 v

所以我想知道如果我想通过这个获取价值是否有可能。 比方说

str.getString("value") = 123  <- output expecting

我尝试过的事情:

1. JSONObject newStr = (JSONObject)JsonSerializer.toJSON(str);
2. Str.contains("key")
3. JSONObject newStr = new JSONObject(str);

但对我没有任何作用。 谁能帮帮我。

有什么办法可以让我得到这样的答案。

str.get("值") = 123 和 str.get("key") = abc

【问题讨论】:

标签: java json string jackson


【解决方案1】:

也许分别用{} 更新char 数组中的第一个和最后一个元素。

从中构造一个字符串。

将其解析为 JSONObject,然后您就可以获取所需的内容。

示例代码:

        Character[] str = {'{', 'v','a','l','u','e',':','1','2','3',',','k','e','y',':','a','b','c','}'};
        StringBuilder sb = new StringBuilder(str.length);
        for (Character c : str)
            sb.append(c.charValue());
        String strb = sb.toString();

        JSONObject obj = new JSONObject(strb);

        System.out.print(obj.get("value"));

输出

123

【讨论】:

  • 谢谢,这可能是答案之一,但这是蛮力,我正在寻找一些优化解决方案或任何库..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-24
  • 2021-04-14
  • 2016-06-24
  • 2018-11-28
  • 2019-10-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多