java - JSONObject 未正确创建(可能是 JSON 格式错误?)

标签 java android json

我得到这个 JSON 字符串:

[
{
    "id": 135,
    "date": "2013-08-30 19:00:29",
    "timestamp": "2013-08-30 19:00:29",
    "lat": "54.328274",
    "long": "-2.747215",
    "strap": "annual International Festival of Street Arts",
    "link": "http://dev.website.co.uk//?p=135",
    "title": "Title"
}
]

我确信这是正确的 JSON 语法(在 iOS 应用程序中工作正常),但是当解析为 JSONObject 时,它会捕获错误。 Java:

public static JSONObject getJSONfromURL(String url){

    //initialize
    InputStream is = null;   
    String result = "";   
    JSONObject jArray = null;

    //http post
    try {

        HttpClient httpclient = new DefaultHttpClient();   
        HttpPost httppost = new HttpPost(url);    
        HttpResponse response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();

        is = entity.getContent();    

    } catch (Exception e) {
        Log.e("log_tag", "Error in http connection "+e.toString());   
    }
    //convert response to string

    try {

        BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);  
        StringBuilder sb = new StringBuilder();   
        String line = null;

        while ((line = reader.readLine()) != null) {   
            sb.append(line + "\n");
        }

        is.close();
        result=sb.toString();

    } catch (Exception e) {    
        Log.e("log_tag", "Error converting result "+e.toString());
    }
    //try parse the string to a JSON object

    try {
        Log.d("log_tag", "jresult: " + result + "finish");
        jArray = new JSONObject(result);

    } catch (JSONException e) {
        Log.e("log_tag", "Error parsing data "+e.toString());
    }
    return jArray;
}

JSON 中是否有错误?

最佳答案

[表示json数组节点

{表示json对象节点

    JSONArray jArray  = new JSONArray(result);
    return jArray;  

此外,您可以使用一个 try block 而不是多个。

关于java - JSONObject 未正确创建(可能是 JSON 格式错误?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17366459/

相关文章:

android - adb shell su 有效,但 adb root 无效

ruby-on-rails - 使用 ERB 模板生成 json 结构

json - 将映射传递到 Grails JSON View gson 模板无法传递值,所有内容均为 null

java - 用于 HTTP 错误的 Java 异常类是什么?

java - ThreadLocal 和列表不起作用

android - Flutter 使用 NetworkImage 作为背景

android - OpenCV 在轮廓边界内获取黑色像素

java - "blocks[i][j].isColorBox() ? pieceColor : backgroundColor"的长版本是什么?

java - 如何在 Netbeans 中调试具有 native 依赖项的 Gradle 项目?

JavaScript ajax、JSONP、回调函数来处理数据