我有一个简单的JSON源,它返回一个图像路径和一组协调。 “坐标”可以有无限的协调。在我下面的例子中,它只有3组。使用GSON解析json数据源
{"image":"Some data", "coords": {"0":[0,0], "1":[55,22], "2":[46,65]}}
我将如何使用GSON来解析此问题?我如何为此创建课程?
感谢
我有一个简单的JSON源,它返回一个图像路径和一组协调。 “坐标”可以有无限的协调。在我下面的例子中,它只有3组。使用GSON解析json数据源
{"image":"Some data", "coords": {"0":[0,0], "1":[55,22], "2":[46,65]}}
我将如何使用GSON来解析此问题?我如何为此创建课程?
感谢
你将有一个坚硬的 因为它不是有效的JSON。
如果它是有效的JSON,如...
{"image":"Some data", "coords": {"0":[0,0], "1":[55,22], "2":[46,65]}}
我相信GSON可以解析coords
到<String, ArrayList<Integer>>
一个map
但我需要尝试,以确保。
添加gson-1.7.1.jar
文件,并写入这个类来获得所需要的JSONObject
或JSONArray
从URL。
public class GetJson {
public JSONArray readJsonArray(String url) {
String read = null;
JSONArray mJsonArray = null;
try {
HttpClient http = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
HttpResponse response = http.execute(post);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
StringBuilder builder = new StringBuilder();
String str = null;
while ((str = br.readLine()) != null) {
builder.append(str);
}
is.close();
read = builder.toString();
mJsonArray = new JSONArray(read);
} catch (Exception e) {
e.printStackTrace();
}
return mJsonArray;
}
public JSONObject readJsonObject(String url) {
String read = null;
JSONObject mJsonObject = null;
try {
HttpClient http = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
HttpResponse response = http.execute(post);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
StringBuilder builder = new StringBuilder();
String str = null;
while ((str = br.readLine()) != null) {
builder.append(str);
}
is.close();
read = builder.toString();
mJsonObject = new JSONObject(read);
} catch (Exception e) {
e.printStackTrace();
}
return mJsonObject;
}
}
享受...
然后解析JSON看到这些教程,
问题是? – Houcine
没问题,只是几个问题。 – dotty
您的编辑仍然无效JSON。请参阅下面的答案。如果你编辑为有效的JSON ...你有什么问题?如果你不知道如何使用GSON,他们的文档相当不错。 –