android - 如何解析空名称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"
]
解决方案
你可以这样做:
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));
}