当前位置: 首页 > 知识库问答 >
问题:

如何拆分字符串响应?

左丘季
2023-03-14

我收到一个字符串响应从以下@覆盖方法

@Override
publc void onSuccess(String response) {
....
}

我面临的矛盾是,我不知道如何将这个响应分解成键值对。这是一个反应的例子。

{"action":{"generic_message":"测试通用消息"},"域":{"key_example_one":"https:/google.com","api_root_url":"https://test.com/new/0.2/json"},"page": null}}

我试图将字符串转换成JSONObject,然后将JSONObjects添加到JSONArray中。

JSONObject mJObj;
try {
    mJObj = new JSONObject(response);
    JSONArray mJArry = mJObj.getJSONArray("action");

    for (int i = 0; i < mJArry.length(); i++) {
        JSONObject newObj = mJArry.getJSONObject(i);    
        String test2 = newObj.getString("generic_example_for_all_platforms");

    }
} catch (JSONException e) {
    e.printStackTrace();
}

编辑:我得到一个JSON异常,JSONArray无法转换为JSONObject,如下所示。

JSONArray mJArry = mJObj.getJSONArray("action");

预先感谢

共有2个答案

闾丘山
2023-03-14

看看Gson。

JsonObject jsonObject = new JsonParser().parse(jsonString).getAsJsonObject();

编辑:刚刚看到您不能移动到其他Json处理器。属性“action”包含JSONObject而不是JSONArray。
JSONObject jsonObject=mJObj.getJSONObject("action")怎么样?

阎丰
2023-03-14

您确实想在这里阅读更多关于JSON的内容。

首先要知道{}等于一个Json对象,[]等于一个Json数组。

try {
    JSONObject mJObj = new JSONObject(response);
    JSONObject actionJsonObject = mJObj.getJSONObject("action");
    String generic_message = actionJsonObject.getString("generic_message");
    JSONObject domainsJsonObject = mJObj.getJSONObject("domains");
    String key_example_one = domainsJsonObject.getString("key_example_one");
    String api_root_url = domainsJsonObject.getString("api_root_url");
    String page = mJObj.getString("page");
} catch (JSONException e) {
    e.printStackTrace();
}
 类似资料:
  • 问题内容: 将字符串拆分为流的 最佳 方法是什么? 我看到了这些变化: 我的优先事项是: 坚固性 可读性 性能 一个完整的可编译示例: 问题答案: / 由于返回数组,因此我始终建议您使用流式处理数组的规范用法。 / 是一个 varargs 方法,它恰好接受一个数组,这是由于varargs方法是通过数组实现的,并且在将varargs引入Java以及改型为接受可变参数的现有方法时,存在兼容性方面的问题

  • 问题 你想拆分一个字符串。 解决方案 使用 JavaScript 字符串的 split() 方法: "foo bar baz".split " " # => [ 'foo', 'bar', 'baz' ] 讨论 String 的这个 split() 方法是标准的 JavaScript 方法。可以用来基于任何分隔符——包括正则表达式来拆分字符串。这个方法还可以接受第二个参数,用于指定返回的子字符串数

  • 我正在开发android应用程序。我正在从图库中获取图像。此外,我正在从gallery获取图像路径。现在我的要求是,我只想获得具有扩展名的图像名称。我该怎么做?请帮帮我。 图像扩展名可以是任何或。我最终需要获得带有扩展名的图像名称。 即我想拆分上面的字符串,只得到。 我如何才能做到这一点?请在这方面帮助我。

  • 我有一个字符串,,我想把它分成两个字符串: 这意味着第一个字符串将包含之前的字符,第二个字符串将包含之后的字符。我还想检查字符串中是否有。如果没有,我会抛出一个异常。我该如何做到这一点?

  • 问题内容: 我有一个名为的字符串,其形式像这样 。 我想使用:分隔符。 这样一来,单词将被拆分成自己的字符串,并将成为另一个字符串。 然后我只想使用2种不同的字符串来显示该字符串。 解决这个问题的最佳方法是什么? 问题答案: 你可能要删除第二个字符串的空格: 如果要用特殊字符(例如dot(。))分割字符串,则应在点之前使用转义字符\ 例: 还有其他方法可以做到这一点。例如,你可以使用类(来自):

  • 问题内容: 如何在PHP中使用定界符分割字符串?例如,如果我有字符串,我如何得到? 问题答案: 做这项工作: 您还可以直接将部分结果提取到变量中: