JSON解析时,中间终止了

那一个实例做背景:

String str="{"msg":"用户发布的求租信息","status":"Y","error":null,"data":[{"checkInTimeStr":"2015-02-02","title","好好好"},{"checkInTimeStr":"2015-02-02","title","好好好"}]";

try {
    JSONObject object = new JSONObject(str);
    Log.e("object", "object" + object.toString());
    if (object.getString("status").equals("Y")) {
        JSONArray jsonArray = object.getJSONArray("data");
        list_for_release = new ArrayList<>();
        for (int i = 0; i < jsonArray.length(); i++) {
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            list_for_release.add(Integer.toString(jsonObject.getInt("id")));
            Map<String, String> map_for_list = new HashMap<String, String>();
            map_for_list.put("createTimeStr", jsonObject.getString("createTimeStr"));
            map_for_list.put("title", jsonObject.getString("title"));
            map_for_list.put("type", "求租");
            getList_map_release.add(map_for_list);
            Log.e("长度是", "成都市" + getList_map_release.size());
            Log.e("LLLLLLLL", "LLLLLLLL" + getList_map_release.toString());
        }
    }

} catch (JSONException e) {
    e.printStackTrace();
}

红色字体的地方是没有执行到的代码段。

为什么会执行不下去了呢?

那是因为jsonObject中没有“createTimeStr”这个字段,那么程序就会不再解析,那么下面的代码段就没法解析到了。

时间: 2024-10-12 00:45:00

JSON解析时,中间终止了的相关文章

关于json解析时异常org.json.JSONException: A JSONObject text must begin with &#39;{&#39; at character 1 of ?{的解决方法

出现这个异常的原因是json串格式不正常,没有"{"开始或没有"}"结尾,仔细检查下json文件的格式一般就可以解决这个问题.但是有时候json文件是正常的,仍然有这个异常信息,怎么办呢,这个是因为你的json文件头里带有编码字符(如UTF-8等),读取字符串时json串是正常的,但是解析就有异常,一般会出现这样的情况是读取的json串是来自于服务器或本地的文件,文件头里自带编码,就我碰到情况来看在Android2.1的手机会报异常,高于2.1的手机是正常的. 解决

Json解析时出现net.sf.json.JSONException: There is a cycle in the hierarchy!

原因分析在解析bean时,出现死循环调用,即多个bean之间出现了相互调用.解决方法:将关联关系中实体对象间 的lazy属性设为false过滤掉bean中引起死循环调用的属性.(两种过滤方式) //采用数组的方式过滤关联的实体对象 JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setIgnoreDefaultExcludes(false); jsonConfig.setCycleDetectionStrategy(CycleDetect

解决json解析时参数为int类型造成保存参数错误问题

由于解析的结果如 {"result":[{"id":1,"title":"需要澳洲鲍鱼四只","content":null,"createTime":"","memId":0,"orgId":1,"corpName":"红星美凯龙南京中央路商场","corpLogo":

Go的json解析:Marshal与Unmarshal

简介Json(Javascript Object Nanotation)是一种数据交换格式,常用于前后端数据传输.任意一端将数据转换成json 字符串,另一端再将该字符串解析成相应的数据结构,如string类型,strcut对象等. go语言本身为我们提供了json的工具包”encoding/json”.更多的使用方式,可以参考:https://studygolang.com/articles/6742 实现Json Marshal:将数据编码成json字符串看一个简单的例子 type Stu

JSON.parse 解析json字符串时,遇换行符报错

今天遇到后台返回的json字符串转对象时报错了,发现有个textarea提交的字段里有换行符. 错误原因:JSON.parse转json字符串时遇到一些特殊字符需要先转义,如图所示 可以用str.replace(/\n/g,"\\\\n")转义,'\\'转成单个'\','\\n'转成'\n',最后转成'\\n'这样就可以用parse转成对象时变为'\n',取出的字符串设置到html文本中\n被解析为换行. ECMA Script注明json字符串中需要转义的字符: 测试: 1.var

Android混淆编译时,用到gson-2.2.2.jar进行反射解析json数据时,报ClassCastException错误

在我的代码中,我使用方法是: public synchronized <T> T parseJson(String json, Class<T> classOfT) throws Exception{ T target = null; Gson gson = new Gson(); target = gson.fromJson(json, classOfT); return target; } 之后在我的Activity中使用方式是: String addModel = JsonP

关于JSON解析的深坑之BOM头

    前言:在我们对Json字符串进行处理时,往往会碰到这个问题org.json.JSONException: Value of type java.lang.String cannot be converted to JSONObject,解析服务器返回的Json串时,JSONObject对象抛出了这个异常.其实这是返回的Json字符串含有BOM头导致的. 本人手拙,写的不好.望各位大虾见谅!!! 什么是JSON?  JSON(JavaScript Object Notation) 是一种轻

Android网络请求框架AsyncHttpClient实例详解(配合JSON解析调用接口)

最近做项目要求使用到网络,想来想去选择了AsyncHttpClient框架开进行APP开发.在这里把我工作期间遇到的问题以及对AsyncHttpClient的使用经验做出相应总结,希望能对您的学习有所帮助. 首先按照惯例先来简单了解一些AsyncHttpClient网络框架的一些知识. 1.简介 Android中网络请求一般使用Apache HTTP Client或者采用HttpURLConnect,但是直接使用这两个类库需要写大量的代码才能完成网络post和get请求,而使用android-a

Java基础知识强化103:JSON解析框架汇总

1.Gson Gson是Google提供的一个能够将Java对象转换成相应JSON表达形式的一个开源Java类库,当然用Gson也能将JSON字符串转换成与之等价的Java对象.Gson对于任何Java对象都有效,包括那些预先存在没有源代码的对象. 现在已经有一些能将Java对象转换成JSON的开源项目了.但是大多数项目都要求你在类文件中加入Java注解,而当你无法改动源代码的时候这是无法做到的.并且它们也不支持Java泛型.但是Gson却将这两点作为自己非常重要的设计目标. 目标 使用toJs