0
我在解析Android上的JSON时出错。任何人都可以帮忙吗? 这是我的JSON方法:Android:解析JSON时出错
void examineJSONFile()
{
try
{
//String x = "";
String y = "";
InputStream is = this.getResources().openRawResource(R.raw.utf);
Writer writer = new StringWriter();
char[] buffer = new char[1024];
try {
BufferedReader reader = new BufferedReader(
new InputStreamReader(is, "UTF-8")
);
int n;
while ((n = reader.read(buffer)) != -1) {
writer.write(buffer, 0, n);
}
} finally {
is.close();
}
String jsontext = writer.toString();
JSONArray entries = new JSONArray(jsontext);
int j;
for (j=0;j<entries.length();j++)
{
JSONObject post = entries.getJSONObject(j);
y += post.getString("description") + "\n";
}
txt_beschreibung.setText(y);
}
catch (Exception je)
{
txt_beschreibung.setText("Error w/file: " + je.getMessage());
}
}
这是我的JSON文件的样本:
[{
"title": "CARE Deutschland-Luxemburg e.V.",
"keyword": "CARE",
"description": "<p><b>Das CARE-Komplett-Paket für Menschen in Not</b></p><p>Schnell, nachhaltig und durchdacht, das ist das moderne CARE-Paket. CARE ist überzeugt, dass umfassende Hilfe von drei Seiten notwendig ist, um die weltweite Armut Schritt für Schritt zu verringern. Deswegen hat CARE sich seit seiner Gründung 1945 und dem Abwurf der ersten CARE-Pakete über Berlin weiter entwickelt. Heute steckt im CARE-Paket weit mehr als Zucker und Mehl. Heute bietet die Organisation in 70 der ärmsten Länder der Welt ein Komplett-Paket für Menschen in Not.</p><p><b>Das Komplett-Paket für Menschen in Not enthält:</b></p>*sofortige Nothilfe nach Katastrophen<br><br>*langfristige Entwicklungszusammenarbeit<br><br>*Schutz der Menschenrechte<br><br>",
"smallImageUrl": "http://cdn.spendino.de/web/img/projects/home/1284113658.jpg",
"bigImageUrl":"http://cdn.spendino.de/web/img/projects/small/1284113658.jpg",
"cost": "5"
},
{
"title": "Brot für die Welt",
"keyword": "BROT",
"description": "<p>„Brot für die Welt“ unterstützt unter der Maßgabe 'Helfen, wo die Not am größten ist' ausgewählte Projekte weltweit.</p><p>Von Angola bis Tansania, von der Förderung von Mahlzeiten bis zur gesundheitlichen Grundversorgung und Katastrophenhilfe.</p><p>Bei ihrem täglichen Kampf gegen Krankheiten, Hunger, Ungerechtigkeiten und Armut wird die Aktion „Brot für die Welt“ von der evangelischen Kirche unterstützt.</p><p>Die Aktion hat es sich zum Ziel gesetzt, die Entwicklungszusammenarbeit auf der ganzen Welt zu fördern und Hilfe zur Selbsthilfe zu leisten.</p>",
"smallImageUrl": "http://cdn.spendino.de/web/img/projects/home/1267454286.jpg",
"bigImageUrl":"http://cdn.spendino.de/web/img/projects/small/1267454286.jpg",
"cost": "5"
}]
这是错误截图:
http://img687.imageshack.us/img687/497/scrshtq.jpg
你能在这里发表您'jsontext'字符串(至极你之前'JSONArray项=新JSONArray(jsontext)获得;') – 2011-04-04 09:57:10
我没有任何,我只是有这个InputStream为= this.getResources ().openRawResource(R.raw.utf); 所以它会从JSON文件读取数据(原始数据) – hectichavana 2011-04-04 10:44:18
在构建jsonObject之前记录jsontext var,这将帮助您追踪问题。 – 2011-04-04 10:56:44