首页 > 解决方案 > 如何解析空名称json数组(仅限字符串)

问题描述

我试图解析这个 JSON 地址但失败了。我尝试的代码失败了,没有反映任何数据。你能帮助我吗?

我的代码;

private void parseJSON() {
    final String url = "json website";
    JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    try {
                        JSONArray jsonArray = response.getJSONArray(null);
                        for (int i = 0; i < jsonArray.length(); i++) {
                            JSONObject hit = jsonArray.getJSONObject(i);
                            String imageref = hit.getString(null);

                            mExampleList.add(new ExampleItemRef(imageref));
                        }

这个 JSON;

[
"https://www.asdasd.com/images/r/a.png",
"https://www.asdasd.com/images/r/b.png",
"https://www.asdasd.com/images/r/c.png",
"https://www.asdasd.com/images/r/d.png",
"https://www.asdasd.com/images/r/e.png"
]

标签: androidarraysjsonparsing

解决方案


你可以这样做:

ArrayList < ExampleItemRef > mExampleList = new ArrayList <ExampleItemRef > ();
String jsonStr =
    "[ \"https://www.asdasd.com/images/r/a.png\", \"https://www.asdasd.com/images/r/b.png\", \"https://www.asdasd.com/images/r/c.png\", \"https://www.asdasd.com/images/r/d.png\", \"https://www.asdasd.com/images/r/e.png\" ]";

try {
    JSONArray jsonArray = new JSONArray(jsonStr);
    for (int i = 0; i < jsonArray.length(); i++) {
        String imageref = jsonArray.getString(i);
        mExampleList.add(new ExampleItemRef(imageref));
    }
} catch (JSONException e) {
    e.printStackTrace();
}

代码是不言自明的,所以没有评论,希望有帮助

编辑:试试这个:

private void parseJSON() {
    final String url = "json website";
    JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    try {
                        JSONArray jsonArray = new JSONArray(response.toString());
                        for (int i = 0; i < jsonArray.length(); i++) {
                           String imageref = jsonArray.getString(i);
                           mExampleList.add(new ExampleItemRef(imageref));
                        }

推荐阅读