Я создаю приложение LinkedIn, которое написано в основном на JavaScript и Flash, но все данные поступают с Java-прокси.Мне нужны данные в формате JSON, и, к сожалению, LinkedIn поддерживает только XML.Лучшее решение - преобразовать XML в JSON на сервере перед отправкой его обратно клиенту, но, по общему признанию, мои навыки Java не слишком сильны.У меня есть код, который выглядит так, как будто он должен работать, но я получаю исключение JSONObject.
Я использую пакет org.json для управления XML: http://json.org/java/
Вот фрагмент кода Javaкоторый пытается конвертировать XML в JSON.Это не красиво, но я просто пытаюсь добиться прогресса в преобразовании данных:
public static String readResponse(HttpResponse response) {
System.out.println("Reading response...");
try {
BufferedReader br = new BufferedReader(new InputStreamReader(
response.getEntity().getContent()));
String readLine;
String innhold = "";
while (((readLine = br.readLine()) != null)) {
innhold += readLine;
}
try {
JSONObject myJ = new JSONObject();
String ret = myJ.getJSONObject(innhold).toString();
System.out.println(ret);
return ret;
} catch (Exception e) {
System.out.println(e);
}
return innhold;
} catch (IOException e) {
System.out.println(e);
return null;
}
}
Вот данные, очень похожие на то, что я пытаюсь преобразовать:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<person>
<first-name>First</first-name>
<last-name>Last</last-name>
<headline>My Profile</headline>
<site-standard-profile-request>
<url>http://www.linkedin.com/profile</url>
</site-standard-profile-request>
</person>
И вот исключение, которое я получаю:
org.json.JSONException: JSONObject["<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><person> <first-name>First<\/first-name> <last-name>Last<\/last-name> <headline>My Profile<\/headline> <site-standard-profile-request> <url>http://www.linkedin.com/profile<\/url> <\/site-standard-profile-request><\/person>"] not found.
Любая помощь приветствуется, спасибо!