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

Android Studio volley嵌套jsonarray

羊舌兴德
2023-03-14
title: {"value":"New Beginnings"}
title: New Beginnings

https://jhookcrochet.eu/?_format=json

对此的任何帮助都将非常感谢!我想出的代码是:

RequestQueue rq = Volley.newRequestQueue(getActivity().getApplicationContext());

String url = "https://jhookcrochet.eu/?_format=json";
StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
    @Override
    public void onResponse(String response) {
        String json = "";
        //txt.setText(response.toString());
        try {
            new JSONObject(response);
            json = "object";
        } catch (JSONException ex) {
            json = "array";
        }
        if (json == "array") {
            try {
                JSONArray jsonArray = new JSONArray(response);
                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject jresponse =
                            jsonArray.getJSONObject(i);
                    String title = jresponse.getString("title");
                    //String field_image = jresponse.getString("field_image");
                    String body = jresponse.getString("body");
                    Log.d("title", title);
                    //Log.d("field_image",field_image);
                    Log.d("body", body);
                    textView.append("Title: " + title + "\n");
                }
            } catch (JSONException e) {
                textView.append("NO\n");
                e.printStackTrace();
            }
        }
        else if (json == "object") {
            textView.append("Yep, that is an object\n");
            try {
                JSONObject jsonResponse = new JSONObject(response);
                JSONArray gettitle = jsonResponse.optJSONArray("title");
                for (int j=0;j<gettitle.length(); j++)
                {
                    String title = gettitle.getString(j);
                    Log.d("title", title);
                }
                //textView.append("Title: " + title + "\n");
                //Log.d("title", title);
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }
}, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        Log.d("error",error.toString());
    }
});
rq.add(request);

// Inflate the layout for this fragment
return root;

共有1个答案

乜安志
2023-03-14

实际上我只是想让它表现出来。

                JSONArray jsonArray = jsonResponse.getJSONArray("title");
                JSONObject titlevalue = jsonArray.getJSONObject(0);
                String title = titlevalue.getString("value");

这会给出我想要的结果。

Title: New Beginnings

万一有人也在寻找这个,这是我的剪报。可能是一个更好更好的方法,但这目前对我有效:)

        else if (json == "object") {
            //textView.append("Yep, that is an object\n");
            try {
                JSONObject jsonResponse = new JSONObject(response);
                JSONArray jsonArray = jsonResponse.getJSONArray("title");
                JSONObject titlevalue = jsonArray.getJSONObject(0);
                String title = titlevalue.getString("value");
                JSONArray jsonBody = jsonResponse.getJSONArray("body");
                JSONObject bodyvalue = jsonBody.getJSONObject(0);
                String body = bodyvalue.getString("value");
                Log.d("title", title);
                Log.d("body", body);
                TitleView.append(title);
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                    textView.setText(Html.fromHtml(body, Html.FROM_HTML_MODE_COMPACT));
                } else {
                    textView.setText(Html.fromHtml(body));
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
 类似资料:
  • 问题内容: 是否可以在spring嵌套@Transactional带注释的方法?考虑这样的事情: 如果我在b()中回滚并在a()中回滚,在这种情况下会发生什么? 问题答案: 不需要 对方法的第二个注释,因为默认情况下 ,其传播为,因此由method调用的方法将是事务性的。如果要在通过method调用的方法中启动新事务,则需要修改传播规则。阅读有关交易传播的信息。

  • 目标 了解如何定义嵌套类和何时适合使用它们 了解使用嵌套类的副作用 了解 new 运算符在嵌套类中的特殊用法 了解如何和何时使用静态内部类和匿名内部类 在何处使用嵌套类 顾名思义,嵌套类(或内部类) 是在一个类中定义的另一个类。 public class EnclosingClass { . . . public class NestedClass { . . . } } 像成

  • 问题内容: 我必须与API进行交互,并且响应格式(根据我的阅读)似乎结构不良。我发现一个Google 网上论坛在这里回答了一个类似的问题,但是我在实现Response类来处理Gson.fromJson时遇到了麻烦。有没有我想念的例子? 问题答案: JSON对象可以由或Javabean类表示。这是一个使用Javabean的示例。 如下使用它:

  • 问题内容: 我有正在使用nodeJS读取的csv文件。我在阅读之前将每个文件转换为文本。 文件中的每一行都有以’=’分隔的数据。 每行看起来像 “ =“之前的第一部分代表我应用程序中json对象的索引。我的目的是解析此数据并为其构建json表示,以便上面的行成为 使用javascript / node js; 如何将应该表示嵌套JSON键序列的字符串转换为上述json对象? 问题答案: 您可以分割

  • 如何聚合一个值在嵌套在Elasticsearch嵌套位置?我对一个嵌套对象没有问题,但在嵌套对象内的嵌套我感到困惑... 样本数据: 欲望结果: 在索引映射中,我将cat_a和条目字段的类型设置为嵌套,当我从工具字段查询聚合时,在cat_a的根(级别1)中没有问题,并且可以工作,但是在聚合中在rx_a(这是在第2级)我不能检索结果,它或空或显示错误,因为我的错误查询。 查询级别1 agg: 如何处

  • 我遇到了一个问题,我的程序只在的一次迭代中结束,我不确定不合逻辑的代码在哪里。 全球给予: 我复杂的嵌套从这里开始,但我不确定如何修复它,以便它迭代通过和数字for-循环: 我得到以下输出: 我从来没有得到Susie的数据,我很早就回来了,但似乎不知道在哪里。对于问题所在(甚至重构)的任何帮助/指导都将不胜感激。提前谢谢!

  • 问题内容: 我可以做以下事情吗? 问题答案: 香草CSS不可能。但是,您可以使用类似: Sass使CSS再次变得有趣。Sass是CSS3的扩展,添加了嵌套规则,变量,mixins,选择器继承等。使用命令行工具或网络框架插件将其转换为格式良好的标准CSS。 要么 不用构造长的选择器名称来指定继承,在Less中,您可以简单地将选择器嵌套在其他选择器中。这样可以使继承更清晰,样式表更短。 例:

  • 问题内容: 我正在尝试使用Json序列化objc对象,以将其发送到服务器。 该服务器针对该对象类型在GET上发送以下内容: SBJsonWriter为我在objc中创建的匹配对象/类型生成以下内容: 这就是我使用SBJsonWriter的方式: 这是我正在序列化的类中的proxyForJson的实现(SBJsonWriter要求): 要序列化的类仅包含两个属性:typeProperties和ima