标签: jsonexception

从字符串转换为json对象android

我正在开发一个Android应用程序.在我的应用程序中,我必须将字符串转换为Json对象,然后解析值.我在stackoverflow中检查了一个解决方案,并在此处找到了类似的问题链接

解决方案是这样的

       `{"phonetype":"N95","cat":"WP"}`
        JSONObject jsonObj = new JSONObject("{\"phonetype\":\"N95\",\"cat\":\"WP\"}");
Run Code Online (Sandbox Code Playgroud)

我在代码中使用相同的方法.我的字符串是

{"ApiInfo":{"description":"userDetails","status":"success"},"userDetails":{"Name":"somename","userName":"value"},"pendingPushDetails":[]}

string mystring= mystring.replace("\"", "\\\"");
Run Code Online (Sandbox Code Playgroud)

更换后我得到了结果

{\"ApiInfo\":{\"description\":\"userDetails\",\"status\":\"success\"},\"userDetails\":{\"Name\":\"Sarath Babu\",\"userName\":\"sarath.babu.sarath babu\",\"Token\":\"ZIhvXsZlKCNL6Xj9OPIOOz3FlGta9g\",\"userId\":\"118\"},\"pendingPushDetails\":[]}
Run Code Online (Sandbox Code Playgroud)

当我执行 JSONObject jsonObj = new JSONObject(mybizData);

我得到以下json异常

org.json.JSONException: Expected literal value at character 1 of
Run Code Online (Sandbox Code Playgroud)

请帮我解决我的问题.

android json string-conversion jsonexception

94
推荐指数
6
解决办法
21万
查看次数

Android - JSONException没有值

我知道这里有几个问题都有相同的主题和错误,但没有一个表明我的问题相同,所以我决定在这里发布我的问题,希望有人能帮助我指出原因.所以我正在尝试在我的应用程序中实现登录功能,这里是代码:

if (tag.equalsIgnoreCase(login_tag)){
                // check for login response
                try {
                    if (json.getString(KEY_SUCCESS) != null) {
                        String res = json.getString(KEY_SUCCESS);
                        if(Integer.parseInt(res) == 1){
                            // user successfully logged in
                            // Store user details in SQLite Database
                            DatabaseHandler db = new DatabaseHandler(mContext);
                            JSONObject json_user = json.getJSONObject("user");

                            // Clear all previous data in database
                            logoutUser(mContext);
                            Toast.makeText(mContext, json.toString(3), Toast.LENGTH_LONG).show();
                            db.addUser(json_user.getString(KEY_EMAIL), json_user.getString(KEY_NAME), json.getString(KEY_UID), json.getString(KEY_AVA), json_user.getString(KEY_BDAY), json_user.getString(KEY_COUNTRY), json_user.getString(KEY_PREF), json_user.getString(KEY_SPEND));  

                            // Launch Dashboard Screen
                            Intent dashboard = new Intent(mContext, DashboardActivity.class);

                            // Close all views before launching Dashboard
                            dashboard.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); …
Run Code Online (Sandbox Code Playgroud)

java android json login jsonexception

11
推荐指数
1
解决办法
3万
查看次数

org.json.simple.JSONObject VS org.json.JSONObject,JSONException无法解析为类型

拳头:解释org.json.simple.JSONObject和org.json.JSONObject之间的区别?

第二:我有一个带org.json.JSONObject和org.json.JSONException的代码.当我在eclipse(JUNO)中编辑代码时,它解析了JSONException的类型并导入了包org.json.JSONException,但是当我在命令行中使用maven运行项目时,我遇到了问题(JSONException无法解析为某种类型).我尝试通过向pom.xml添加依赖项来解决此问题,如下所示:

 <dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1</version>
Run Code Online (Sandbox Code Playgroud)

但我不确定它是否是正确的.我甚至下载了组织的jar.java-json.jar并将其添加到web deployement程序集但仍然是相同的错误.有人可以帮忙吗?

jsonexception jsonobject

10
推荐指数
1
解决办法
9444
查看次数

org.json.JSONException:字符550处的预期文字值

我试图从资产文件夹中读取JSON文件.但我得到以下异常
org.json.JSONException: Expected literal value at character 550
我搜索了很多东西,但没有找到任何相关的东西.这是我的JSON文件.

我发现550上的JSON对象是"names": ["Santosh","Sandip","Arvind"],.我试图解决它,但不知道我的代码中发生了什么.
这是我的代码.

我也调试我的代码,但是当控制继续时,JSONObject jsonObject = new JSONObject(text);它抛出异常并进入第一个catch块.
请给我任何参考或提示来解决这个问题.
任何帮助赞赏.

android jsonexception

6
推荐指数
2
解决办法
2万
查看次数

“无法识别的标记 'com':期待('true'、'false' 或 'null')”

我已将此 json 转换为字符串以保存在本地数据库中

{
        "type": "file",
        "id": "b665ff0b-5f7b-4991-ae88-ac5054880223",
        "link": {
            "href": "https://s3-eu-west-com/87e9edff-e7bd-49ea-aa7a-8948cac29bc1/b665ff0b-5f7b-4991-ae88-ac5054880223.jpg"
        },
        "file_name": "sony 431.jpg",
        "mime_type": "image/jpeg",
        "file_size": 66727,
        "public": true,
        "meta": {
            "dimensions": {
                "width": 1500,
                "height": 1500
            },
            "timestamps": {
                "created_at": "2018-01-22T11:07:35.527Z"
            }
        },
        "links": {
            "current": "https://api.e-com.com/v2/files/b665ff0b-5f7b-4991-ae88-ac5054880223"
        }
    }
Run Code Online (Sandbox Code Playgroud)

当我通过转换为 JSON 来使用该字符串时,我收到错误消息

“无法识别的标记 'com':期待('true'、'false' 或 'null')”

我该如何解决该错误?

这就是我将这个 json 转换为字符串的方式:

staticFile1.setFile(file.toString());
Run Code Online (Sandbox Code Playgroud)

和字符串到json:

File file1 = new ObjectMapper().readValue(file, File.class);
Run Code Online (Sandbox Code Playgroud)

java android json string-conversion jsonexception

6
推荐指数
1
解决办法
1万
查看次数

在 JSON 响应字符串中包含自动添加的反斜杠

我正在调用 Web 服务以获取 JSON 字符串响应,它包含不在原始字符串中的反斜杠。下面是我请求一个 JSON 字符串对象的代码,它是: {"name":"Name","id":1}

protected String doInBackground(String... uri) 
    {
        HttpClient httpclient = new DefaultHttpClient();
        HttpResponse response;
        String responseString = null;
        try {
            response = httpclient.execute(new HttpGet(uri[0]));
            StatusLine statusLine = response.getStatusLine();
            if(statusLine.getStatusCode() == HttpStatus.SC_OK){
                ByteArrayOutputStream out = new ByteArrayOutputStream();
                response.getEntity().writeTo(out);
                out.close();
                responseString = out.toString();
            } else{
                //Closes the connection.
                response.getEntity().getContent().close();
                throw new IOException(statusLine.getReasonPhrase());
            }
        } catch (ClientProtocolException e) {
            //TODO Handle problems..
        } catch (IOException e) {
            //TODO Handle problems..
        }
        return responseString;
    }
Run Code Online (Sandbox Code Playgroud)

在执行后,我只是尝试将此响应字符串解析为 JSONObject。代码如下:

protected …
Run Code Online (Sandbox Code Playgroud)

java string json backslash jsonexception

5
推荐指数
1
解决办法
1万
查看次数

java.lang.ClassNotFoundException: org.json.JSONException

我正在构建一个简单的 Maven 项目。我使用构建路径添加json为第三方库,并将其添加到web-inf库中。最后,我在pom.xml. 然而,经过上述所有努力,我仍然遇到这个异常。任何信息和建议表示赞赏!

下面是例外情况

SEVERE: Servlet.service() for servlet [sfmserver] in context with path [/mysfmovies] threw exception [Servlet execution threw an exception] with root cause
java.lang.ClassNotFoundException: org.json.JSONException
Run Code Online (Sandbox Code Playgroud)

下面是我的pom.xml的内容

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mysfmovies</groupId>
  <artifactId>mysfmovies</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>mysfmovies Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
      <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
    </dependency>
            <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.1.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.1.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20090211</version>
            <scope>provided</scope>
        </dependency>
        <dependency> …
Run Code Online (Sandbox Code Playgroud)

maven java.lang.class jsonexception

5
推荐指数
2
解决办法
3万
查看次数

如何在服务器端使用JSON Sanitizer?

我想实现OWASP提到的“ JSON Sanitizer”验证。我的理解是,这需要在两个地方完成:

  1. 从客户端或其他系统接收的JSON数据(在请求中)-需要在服务器端进行清理,然后再进行处理

  2. JSON数据(作为响应)要发送到客户端-在发送到客户端之前,需要在服务器端清除此数据

仅在该JSON数据上的JSON清理库中调用一个清理方法就足够了吗?

这将执行所有消毒处理还是在这方面进行任何其他验证?

json owasp input-sanitization jsonexception

5
推荐指数
1
解决办法
9796
查看次数

Flutter http 响应有时会丢失最后一两个字节

我的 Flutter 应用程序中有以下代码:

response = await http.post(uri, body: target.parameters, headers: headers);
return SeatsMapDecoder.getFromJson(json.decode(response.body));
Run Code Online (Sandbox Code Playgroud)

结束这个请求的响应是这样的:

{"reservations":{"reserved":[439,442,443,22,23,24,25],"paid":[]},"data":{"id":1,"start_date":"25.10.2019","start_time":"20:00","price":"4.50","auditorium":{"id":1,"name":"Velika Sala","sections":[{"id":1,"auditorium_id":1,"name":"Parter I - XI","rows":[[{"id":1,"row":1,"number":1},{"id":2,"row":1,"number":2},{"id":3,"row":1,"number":3},{"id":4,"row":1,"number":4},{"id":5,"row":1,"number":5},{"id":6,"row":1,"number":6},{"id":7,"row":1,"number":7},{"id":8,"row":1,"number":8},{"id":9,"row":1,"number":9},{"id":10,"row":1,"number":10},{"id":11,"row":1,"number":11},{"id":12,"row":1,"number":12},{"id":13,"row":1,"number":13},{"id":14,"row":1,"number":14},{"id":15,"row":1,"number":15},{"id":16,"row":1,"number":16},{"id":17,"row":1,"number":17}],[{"id":18,"row":2,"number":1},{"id":19,"row":2,"number":2},{"id":20,"row":2,"number":3},{"id":21,"row":2,"number":4},{"id":22,"row":2,"number":5},{"id":23,"row":2,"number":6},{"id":24,"row":2,"number":7},{"id":25,"row":2,"number":8},{"id":26,"row":2,"number":9},{"id":27,"row":2,"number":10},{"id":28,"row":2,"number":11},{"id":29,"row":2,"number":12},{"id":30,"row":2,"number":13},{"id":31,"row":2,"number":14},{"id":32,"row":2,"number":15},{"id":33,"row":2,"number":16}],[{"id":34,"row":3,"number":1},{"id":35,"row":3,"number":2},{"id":36,"row":3,"number":3},{"id":37,"row":3,"number":4},{"id":38,"row":3,"number":5},{"id":39,"row":3,"number":6},{"id":40,"row":3,"number":7},{"id":41,"row":3,"number":8},{"id":42,"row":3,"number":9},{"id":43,"row":3,"number":10},{"id":44,"row":3,"number":11},{"id":45,"row":3,"number":12},{"id":46,"row":3,"number":13},{"id":47,"row":3,"number":14},{"id":48,"row":3,"number":15},{"id":49,"row":3,"number":16},{"id":50,"row":3,"number":17}],[{"id":51,"row":4,"number":1},{"id":52,"row":4,"number":2},{"id":53,"row":4,"number":3},{"id":54,"row":4,"number":4},{"id":55,"row":4,"number":5},{"id":56,"row":4,"number":6},{"id":57,"row":4,"number":7},{"id":58,"row":4,"number":8},{"id":59,"row":4,"number":9},{"id":60,"row":4,"number":10},{"id":61,"row":4,"number":11},{"id":62,"row":4,"number":12},{"id":63,"row":4,"number":13},{"id":64,"row":4,"number":14},{"id":65,"row":4,"number":15},{"id":66,"row":4,"number":16}],[{"id":67,"row":5,"number":1},{"id":68,"row":5,"number":2},{"id":69,"row":5,"number":3},{"id":70,"row":5,"number":4},{"id":71,"row":5,"number":5},{"id":72,"row":5,"number":6},{"id":73,"row":5,"number":7},{"id":74,"row":5,"number":8},{"id":75,"row":5,"number":9},{"id":76,"row":5,"number":10},{"id":77,"row":5,"number":11},{"id":78,"row":5,"number":12},{"id":79,"row":5,"number":13},{"id":80,"row":5,"number":14},{"id":81,"row":5,"number":15},{"id":82,"row":5,"number":16},{"id":83,"row":5,"number":17}],[{"id":84,"row":6,"number":1},{"id":85,"row":6,"number":2},{"id":86,"row":6,"number":3},{"id":87,"row":6,"number":4},{"id":88,"row":6,"number":5},{"id":89,"row":6,"number":6},{"id":90,"row":6,"number":7},{"id":91,"row":6,"number":8},{"id":92,"row":6,"number":9},{"id":93,"row":6,"number":10},{"id":94,"row":6,"number":11},{"id":95,"row":6,"number":12},{"id":96,"row":6,"number":13},{"id":97,"row":6,"number":14},{"id":98,"row":6,"number":15},{"id":99,"row":6,"number":16}],[{"id":100,"row":7,"number":1},{"id":101,"row":7,"number":2},{"id":102,"row":7,"number":3},{"id":103,"row":7,"number":4},{"id":104,"row":7,"number":5},{"id":105,"row":7,"number":6},{"id":106,"row":7,"number":7},{"id":107,"row":7,"number":8},{"id":108,"row":7,"number":9},{"id":109,"row":7,"number":10},{"id":110,"row":7,"number":11},{"id":111,"row":7,"number":12},{"id":112,"row":7,"number":13},{"id":113,"row":7,"number":14},{"id":114,"row":7,"number":15},{"id":115,"row":7,"number":16},{"id":116,"row":7,"number":17}],[{"id":117,"row":8,"number":1},{"id":118,"row":8,"number":2},{"id":119,"row":8,"number":3},{"id":120,"row":8,"number":4},{"id":121,"row":8,"number":5},{"id":122,"row":8,"number":6},{"id":123,"row":8,"number":7},{"id":124,"row":8,"number":8},{"id":125,"row":8,"number":9},{"id":126,"row":8,"number":10},{"id":127,"row":8,"number":11},{"id":128,"row":8,"number":12},{"id":129,"row":8,"number":13},{"id":130,"row":8,"number":14},{"id":131,"row":8,"number":15},{"id":132,"row":8,"number":16}],[{"id":133,"row":9,"number":1},{"id":134,"row":9,"number":2},{"id":135,"row":9,"number":3},{"id":136,"row":9,"number":4},{"id":137,"row":9,"number":5},{"id":138,"row":9,"number":6},{"id":139,"row":9,"number":7},{"id":140,"row":9,"number":8},{"id":141,"row":9,"number":9},{"id":142,"row":9,"number":10},{"id":143,"row":9,"number":11},{"id":144,"row":9,"number":12},{"id":145,"row":9,"number":13},{"id":146,"row":9,"number":14},{"id":147,"row":9,"number":15},{"id":148,"row":9,"number":16},{"id":149,"row":9,"number":17}],[{"id":150,"row":10,"number":1},{"id":151,"row":10,"number":2},{"id":152,"row":10,"number":3},{"id":153,"row":10,"number":4},{"id":154,"row":10,"number":5},{"id":155,"row":10,"number":6},{"id":156,"row":10,"number":7},{"id":157,"row":10,"number":8},{"id":158,"row":10,"number":9},{"id":159,"row":10,"number":10},{"id":160,"row":10,"number":11},{"id":161,"row":10,"number":12},{"id":162,"row":10,"number":13},{"id":163,"row":10,"number":14},{"id":164,"row":10,"number":15},{"id":165,"row":10,"number":16}],[{"id":166,"row":11,"number":1},{"id":167,"row":11,"number":2},{"id":168,"row":11,"number":3},{"id":169,"row":11,"number":4},{"id":170,"row":11,"number":5},{"id":171,"row":11,"number":6},{"id":172,"row":11,"number":7},{"id":173,"row":11,"number":8},{"id":174,"row":11,"number":9},{"id":175,"row":11,"number":10},{"id":176,"row":11,"number":11},{"id":177,"row":11,"number":12},{"id":178,"row":11,"number":13},{"id":179,"row":11,"number":14},{"id":180,"row":11,"number":15},{"id":181,"row":11,"number":16},{"id":182,"row":11,"number":17}]]},{"id":2,"auditorium_id":1,"name":"Parter XII - XXIII","rows":[[{"id":183,"row":12,"number":1},{"id":184,"row":12,"number":2},{"id":185,"row":12,"number":3},{"id":186,"row":12,"number":4},{"id":187,"row":12,"number":5},{"id":188,"row":12,"number":6},{"id":189,"row":12,"number":7},{"id":190,"row":12,"number":8},{"id":191,"row":12,"number":9},{"id":192,"row":12,"number":10},{"id":193,"row":12,"number":11},{"id":194,"row":12,"number":12},{"id":195,"row":12,"number":13},{"id":196,"row":12,"number":14},{"id":197,"row":12,"number":15},{"id":198,"row":12,"number":16},{"id":199,"row":12,"number":17}],[{"id":200,"row":13,"number":1},{"id":201,"row":13,"number":2},{"id":202,"row":13,"number":3},{"id":203,"row":13,"number":4},{"id":204,"row":13,"number":5},{"id":205,"row":13,"number":6},{"id":206,"row":13,"number":7},{"id":207,"row":13,"number":8},{"id":208,"row":13,"number":9},{"id":209,"row":13,"number":10},{"id":210,"row":13,"number":11},{"id":211,"row":13,"number":12},{"id":212,"row":13,"number":13},{"id":213,"row":13,"number":14},{"id":214,"row":13,"number":15},{"id":215,"row":13,"number":16}],[{"id":216,"row":14,"number":1},{"id":217,"row":14,"number":2},{"id":218,"row":14,"number":3},{"id":219,"row":14,"number":4},{"id":220,"row":14,"number":5},{"id":221,"row":14,"number":6},{"id":222,"row":14,"number":7},{"id":223,"row":14,"number":8},{"id":224,"row":14,"number":9},{"id":225,"row":14,"number":10},{"id":226,"row":14,"number":11},{"id":227,"row":14,"number":12},{"id":228,"row":14,"number":13},{"id":229,"row":14,"number":14},{"id":230,"row":14,"number":15},{"id":231,"row":14,"number":16},{"id":232,"row":14,"number":17}],[{"id":233,"row":15,"number":1},{"id":234,"row":15,"number":2},{"id":235,"row":15,"number":3},{"id":236,"row":15,"number":4},{"id":237,"row":15,"number":5},{"id":238,"row":15,"number":6},{"id":239,"row":15,"number":7},{"id":240,"row":15,"number":8},{"id":241,"row":15,"number":9},{"id":242,"row":15,"number":10},{"id":243,"row":15,"number":11},{"id":244,"row":15,"number":12},{"id":245,"row":15,"number":13},{"id":246,"row":15,"number":14},{"id":247,"row":15,"number":15},{"id":248,"row":15,"number":16}],[{"id":249,"row":16,"number":1},{"id":250,"row":16,"number":2},{"id":251,"row":16,"number":3},{"id":252,"row":16,"number":4},{"id":253,"row":16,"number":5},{"id":254,"row":16,"number":6},{"id":255,"row":16,"number":7},{"id":256,"row":16,"number":8},{"id":257,"row":16,"number":9},{"id":258,"row":16,"number":10},{"id":259,"row":16,"number":11},{"id":260,"row":16,"number":12},{"id":261,"row":16,"number":13},{"id":262,"row":16,"number":14},{"id":263,"row":16,"number":15},{"id":264,"row":16,"number":16},{"id":265,"row":16,"number":17}],[{"id":266,"row":17,"number":1},{"id":267,"row":17,"number":2},{"id":268,"row":17,"number":3},{"id":269,"row":17,"number":4},{"id":270,"row":17,"number":5},{"id":271,"row":17,"number":6},{"id":272,"row":17,"number":7},{"id":273,"row":17,"number":8},{"id":274,"row":17,"number":9},{"id":275,"row":17,"number":10},{"id":276,"row":17,"number":11},{"id":277,"row":17,"number":12},{"id":278,"row":17,"number":13},{"id":279,"row":17,"number":14},{"id":280,"row":17,"number":15},{"id":281,"row":17,"number":16}],[{"id":282,"row":18,"number":1},{"id":283,"row":18,"number":2},{"id":284,"row":18,"number":3},{"id":285,"row":18,"number":4},{"id":286,"row":18,"number":5},{"id":287,"row":18,"number":6},{"id":288,"row":18,"number":7},{"id":289,"row":18,"number":8},{"id":290,"row":18,"number":9},{"id":291,"row":18,"number":10},{"id":292,"row":18,"number":11},{"id":293,"row":18,"number":12},{"id":294,"row":18,"number":13},{"id":295,"row":18,"number":14},{"id":296,"row":18,"number":15},{"id":297,"row":18,"number":16},{"id":298,"row":18,"number":17}],[{"id":299,"row":19,"number":1},{"id":300,"row":19,"number":2},{"id":301,"row":19,"number":3},{"id":302,"row":19,"number":4},{"id":303,"row":19,"number":5},{"id":304,"row":19,"number":6},{"id":305,"row":19,"number":7},{"id":306,"row":19,"number":8},{"id":307,"row":19,"number":9},{"id":308,"row":19,"number":10},{"id":309,"row":19,"number":11},{"id":310,"row":19,"number":12},{"id":311,"row":19,"number":13},{"id":312,"row":19,"number":14},{"id":313,"row":19,"number":15},{"id":314,"row":19,"number":16}],[{"id":315,"row":20,"number":1},{"id":316,"row":20,"number":2},{"id":317,"row":20,"number":3},{"id":318,"row":20,"number":4},{"id":319,"row":20,"number":5},{"id":320,"row":20,"number":6},{"id":321,"row":20,"number":7},{"id":322,"row":20,"number":8},{"id":323,"row":20,"number":9},{"id":324,"row":20,"number":10},{"id":325,"row":20,"number":11},{"id":326,"row":20,"number":12},{"id":327,"row":20,"number":13},{"id":328,"row":20,"number":14},{"id":329,"row":20,"number":15},{"id":330,"row":20,"number":16},{"id":331,"row":20,"number":17}],[{"id":332,"row":21,"number":1},{"id":333,"row":21,"number":2},{"id":334,"row":21,"number":3},{"id":335,"row":21,"number":4},{"id":336,"row":21,"number":5},{"id":337,"row":21,"number":6},{"id":338,"row":21,"number":7},{"id":339,"row":21,"number":8},{"id":340,"row":21,"number":9},{"id":341,"row":21,"number":10},{"id":342,"row":21,"number":11},{"id":343,"row":21,"number":12},{"id":344,"row":21,"number":13},{"id":345,"row":21,"number":14},{"id":346,"row":21,"number":15},{"id":347,"row":21,"number":16}],[{"id":348,"row":22,"number":1},{"id":349,"row":22,"number":2},{"id":350,"row":22,"number":3},{"id":351,"row":22,"number":4},{"id":352,"row":22,"number":5},{"id":353,"row":22,"number":6},{"id":354,"row":22,"number":7},{"id":355,"row":22,"number":8},{"id":356,"row":22,"number":9},{"id":357,"row":22,"number":10},{"id":358,"row":22,"number":11},{"id":359,"row":22,"number":12},{"id":360,"row":22,"number":13},{"id":361,"row":22,"number":14},{"id":362,"row":22,"number":15},{"id":363,"row":22,"number":16},{"id":364,"row":22,"number":17}],[{"id":365,"row":23,"number":1},{"id":366,"row":23,"number":2},{"id":367,"row":23,"number":3},{"id":368,"row":23,"number":4},{"id":369,"row":23,"number":5},{"id":370,"row":23,"number":6},{"id":371,"row":23,"number":7},{"id":372,"row":23,"number":8},{"id":373,"row":23,"number":9},{"id":374,"row":23,"number":10},{"id":375,"row":23,"number":11},{"id":376,"row":23,"number":12},{"id":377,"row":23,"number":13},{"id":378,"row":23,"number":14},{"id":379,"row":23,"number":15},{"id":380,"row":23,"number":16}]]},{"id":3,"auditorium_id":1,"name":"Balkon","rows":[[{"id":381,"row":1,"number":1},{"id":382,"row":1,"number":2},{"id":383,"row":1,"number":3},{"id":384,"row":1,"number":4},{"id":385,"row":1,"number":5},{"id":386,"row":1,"number":6},{"id":387,"row":1,"number":7},{"id":388,"row":1,"number":8},{"id":389,"row":1,"number":9},{"id":390,"row":1,"number":10},{"id":391,"row":1,"number":11}],[{"id":392,"row":2,"number":1},{"id":393,"row":2,"number":2},{"id":394,"row":2,"number":3},{"id":395,"row":2,"number":4},{"id":396,"row":2,"number":5},{"id":397,"row":2,"number":6},{"id":398,"row":2,"number":7},{"id":399,"row":2,"number":8},{"id":400,"row":2,"number":9},{"id":401,"row":2,"number":10}],[{"id":402,"row":3,"number":1},{"id":403,"row":3,"number":2},{"id":404,"row":3,"number":3},{"id":405,"row":3,"number":4},{"id":406,"row":3,"number":5},{"id":407,"row":3,"number":6},{"id":408,"row":3,"number":7},{"id":409,"row":3,"number":8},{"id":410,"row":3,"number":9},{"id":411,"row":3,"number":10},{"id":412,"row":3,"number":11}],[{"id":413,"row":4,"number":1},{"id":414,"row":4,"number":2},{"id":415,"row":4,"number":3},{"id":416,"row":4,"number":4},{"id":417,"row":4,"number":5},{"id":418,"row":4,"number":6},{"id":419,"row":4,"number":7},{"id":420,"row":4,"number":8},{"id":421,"row":4,"number":9},{"id":422,"row":4,"number":10}],[{"id":423,"row":5,"number":1},{"id":424,"row":5,"number":2},{"id":425,"row":5,"number":3},{"id":426,"row":5,"number":4},{"id":427,"row":5,"number":5},{"id":428,"row":5,"number":6},{"id":429,"row":5,"number":7},{"id":430,"row":5,"number":8},{"id":431,"row":5,"number":9},{"id":432,"row":5,"number":10}],[{"id":433,"row":6,"number":1},{"id":434,"row":6,"number":2},{"id":435,"row":6,"number":3},{"id":436,"row":6,"number":4},{"id":437,"row":6,"number":5},{"id":438,"row":6,"number":6}],[{"id":439,"row":7,"number":1},{"id":440,"row":7,"number":2},{"id":441,"row":7,"number":3},{"id":442,"row":7,"number":4},{"id":443,"row":7,"number":5},{"id":444,"row":7,"number":6}]]}],"seats_map":"main"}}}
Run Code Online (Sandbox Code Playgroud)

在服务器端我只这样做(Laravel 6):

$seatsMap = $service->getSeatsMap();
return response()->json($seatsMap);
Run Code Online (Sandbox Code Playgroud)

然而有时在处理应用程序时,我会遇到 json 格式异常。

FormatException: Unexpected end of input (at character 14076)...,"row":7,"number":5},{"id":444,"row":7,"number":6}]]}],"seats_m
Run Code Online (Sandbox Code Playgroud)

调试显示有时最后一个括号}丢失response.body。主体的长度有时是14076字节,有时是14075字节。就像 flutter 的 http 库忘记读取最后一个字节一样。

我也尝试在服务器端返回这个:

return response()->json($data, 200, [
            "Content-Type" => "application/json; charset=utf-8"
        ]);
Run Code Online (Sandbox Code Playgroud)

但有时仍然会发生最后一个}丢失的情况response.body

导致此错误的原因可能是什么?我怀疑它是服务器端,因为我使用 Laravel 来 json 编码关联数组。

编辑

看起来这只发生在模拟器上,在我的华为 Mate 10 PRO 上,我无法重现这个错误......

编辑2

一旦我将后端代码推送到服务器,现在我正在从服务器检索数据,这种情况就会在模拟器上停止发生

encoding json http jsonexception flutter

5
推荐指数
0
解决办法
1213
查看次数

JSONException:索引5超出范围[0..5)

我正在使用这个使用这个JSON对象的应用程序遇到一些麻烦:http://api.worldweatheronline.com/premium/v1/marine.ashx? q = -34.8799074,174.7565664&key = 3477e975c4d9a8a0eaac2b2c818f4& format = json&tide = YES

有些日子它工作正常,从JSON对象中获取数据没有问题,有些日子我得到这种错误:JSONException:索引5超出范围[0..5).

12-04 11:12:30.328    1916-1931/android_kaizen.com.drawerskippermate E/FetchWeatherTask? Index 5 out of range [0..5)
org.json.JSONException: Index 5 out of range [0..5)
        at org.json.JSONArray.get(JSONArray.java:263)
        at org.json.JSONArray.getJSONObject(JSONArray.java:480)
        at android_kaizen.com.drawerskippermate.MainActivity$FetchWeatherTask.getWeatherDataFromJson(MainActivity.java:579)
        at android_kaizen.com.drawerskippermate.MainActivity$FetchWeatherTask.doInBackground(MainActivity.java:754)
        at android_kaizen.com.drawerskippermate.MainActivity$FetchWeatherTask.doInBackground(MainActivity.java:318)
        at android.os.AsyncTask$2.call(AsyncTask.java:287)
        at java.util.concurrent.FutureTask.run(FutureTask.java:234)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
        at java.lang.Thread.run(Thread.java:864)
Run Code Online (Sandbox Code Playgroud)

甚至没有改变一行代码!! 奇怪的是,可以在Web浏览器中看到JSON对象.

有没有人遇到类似的情况,可以解释为什么会发生?

谢谢!

编辑:这是我的代码:

private DayForecast[] getWeatherDataFromJson(String forecastJsonStr) throws JSONException {

        final String JSON_DATA = "data";
        final String JSON_WEATHER = "weather";
        final String JSON_MAX …
Run Code Online (Sandbox Code Playgroud)

android json jsonexception

4
推荐指数
1
解决办法
1万
查看次数