【问题标题】:JSON Response is not getting in Android from google app engine servletJSON 响应没有从谷歌应用引擎 servlet 进入 Android
【发布时间】:2012-07-11 18:07:17
【问题描述】:

我正在尝试实现从 android 到 GAE servlet 的 http 请求响应。来自android的请求是正常的http post请求。它工作正常。问题是我发送回 android 是 json 响应。我使用 GSON (gson v2.2.2) 创建了 json 对象。当我在浏览器中测试时,它正确显示了 gson 格式。

json fromat 是,

{"data1":100,"data2":"hello","list":["String 1","String 2","String 3"]}

我尝试通过

发送此 json
/*json is my json format*/

response.getWritet().println(json);

system.out.println(json);

当我试图在 android 中读取 json 对象时,我得到了异常,

Value <html><head> of type java.lang.String cannot be converted to JSONArray

请提出其他方法或帮助我解决这个问题,谢谢。

【问题讨论】:

    标签: android json google-app-engine servlets


    【解决方案1】:

    您的页面在输出 JSON 之前先输出 HTML 代码 (&lt;html&gt;&lt;head&gt;)。要么剥离所有 HTML,然后处理 JSON(也许将 JSON 放在一个特殊的容器中,这样你就可以更容易地找到它),或者不输出任何 HTML,只输出 JSON。

    【讨论】:

    • 我没有在我的 json 中放入任何 html。看看我的格式。没有html
    • 那可能是一个错误页面。当您在浏览器中执行完全相同的调用时,您会看到什么?
    • 你确定你的框架没有插入任何 HTML 吗?使用 curl 手动测试您的 API 并验证您得到的结果。从您提供的有限代码来看,您提供给 JSON 解析器的任何内容似乎都包含 HTML。
    • @TusharDhoot:当我在浏览器中尝试时,我可以记录我的 json 响应,就像我在上面发布的 json 响应一样。
    • @CoderDecoderEncoder 右键单击​​浏览器中的响应页面,查看它是纯文本还是包含 html。浏览器不显示 html 标签。这可能是问题所在。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-18
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多