java - org.json.JSONObject 从字符串创建 JSONObject 抛出 java.lang.RuntimeException

标签 java android json org.json

我一直在试图弄清楚为什么从字符串 json 构造一个 org.json.JSONObject 不会工作很长时间。

这是 json 字符串(漂亮)

{
    "status": 200,
    "message": "200 Request is valid",
    "job": {
        "Id": 1,
        "Jobtitle": "Test Job",
        "Description": "Asthma",
        "Medicalcondition": "Asthma",
        "Language": "English",
        "Racereligion": "Chinese",
        "Agegender": "50, Female",
        "Hourlyprice": 42,
        "Type": "caregiver",
        "Date": "2019-05-12T00:00:00+08:00",
        "Starttime": "2018-07-20T12:15:00+08:00",
        "Endtime": "2018-07-20T18:15:00+08:00",
        "Address": "1 Cluny Road",
        "Latitude": 1.3152057,
        "Longitude": 103.8162553,
        "Creator": "xiurobert"
    }
}

和缩小(我试图从中构建 JSONObject 的那个)

String json = "{\"status\":200,\"message\":\"200 Request is valid\",\"job\":{\"Id\":1,\"Jobtitle\":\"Test Job\",\"Description\":\"Asthma\",\"Medicalcondition\":\"Asthma\",\"Language\":\"English\",\"Racereligion\":\"Chinese\",\"Agegender\":\"50, Female\",\"Hourlyprice\":42,\"Type\":\"caregiver\",\"Date\":\"2019-05-12T00:00:00+08:00\",\"Starttime\":\"2018-07-20T12:15:00+08:00\",\"Endtime\":\"2018-07-20T18:15:00+08:00\",\"Address\":\"1 Cluny Road\",\"Latitude\":1.3152057,\"Longitude\":103.8162553,\"Creator\":\"xiurobert\"}}";

构造函数

JSONObject jsonObject = new JSONObject(json)

但是,这导致了 java.lang.RuntimeException: Cannot evaluate org.json.JSONObject.toString()

我什至尝试过先使用 gson 解析字符串,然后将其输出回新的 JSONObject,但似乎没有用。

有什么原因吗?

最佳答案

这是完美的工作

String json = "{\"status\":200,\"message\":\"200 Request is valid\",\"job\":{\"Id\":1,\"Jobtitle\":\"Test Job\",\"Description\":\"Asthma\",\"Medicalcondition\":\"Asthma\",\"Language\":\"English\",\"Racereligion\":\"Chinese\",\"Agegender\":\"50, Female\",\"Hourlyprice\":42,\"Type\":\"caregiver\",\"Date\":\"2019-05-12T00:00:00+08:00\",\"Starttime\":\"2018-07-20T12:15:00+08:00\",\"Endtime\":\"2018-07-20T18:15:00+08:00\",\"Address\":\"1 Cluny Road\",\"Latitude\":1.3152057,\"Longitude\":103.8162553,\"Creator\":\"xiurobert\"}}";
        try
        {
            JSONObject jsonObject = new JSONObject(json);
            Log.i("TAG", "a: "+jsonObject.toString());

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

哪里出错了

关于java - org.json.JSONObject 从字符串创建 JSONObject 抛出 java.lang.RuntimeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51452188/

相关文章:

java - Eclipse 远程系统资源管理器 : create Java project

Java,将小型二维数组与较大二维数组中的每个可能的迭代进行比较

android - 如何使用路由器通量将标签栏放在安卓屏幕的底部?

javascript - 如何从 json-server 托管的 API 访问数组中的对象

java - Jooq 支持 Joda-Time 吗?

android - shouldOverrideUrlLoading 返回方法

android - 在某些设备上完成 Android 的应用内灵活更新过程后,应用不会自动重启

json - 在 RESTful Web 服务中,响应 DTO 是否应该包含它们的子 DTO?

python - 如何从 couchdb 查询文档并将它们加载到 pandas dataframe 中?

java - IPV6 地址在 Java 中转换为压缩形式