当前位置: 首页 > 知识库问答 >
问题:

JSON例外:java。无法将lang.String转换为JSONObject

饶志
2023-03-14

我正在抛出一个JSON异常,我不知道为什么会抛出它。我已经看了几乎所有和我一样的问题,但我认为我的不同。因此,我从一个网页获得一个JSONArray,它发送的JSON是有效的(我用验证器检查了它)。在JSONArray上执行getJSONObject时引发异常。

这正是它所说的(个人信息被标出):

org.json.JSONException: Value  [{"name":"*****","profilePicture":"*****"}] at 0 of type java.lang.String cannot be converted to JSONObject

这是我的Java代码:

 protected Void doInBackground(JSONObject... params) {
        JSONObject jsonObject = params[0];
        ClientServerInterface clientServerInterface = new ClientServerInterface();
        JSONArray attendanceDetails = clientServerInterface.postData("http://54.164.136.46/get_attendance.php", jsonObject);
        Log.e("Attendance Details: ", attendanceDetails.toString());

        nameAttendees = new String[attendanceDetails.length()];
        pictureAttendees = new String[attendanceDetails.length()];

        JSONObject jobj = null;
 for(int i = 0; i < attendanceDetails.length(); i++)
        {
            try {
                jobj = attendanceDetails.getJSONObject(i);
                nameAttendees[i] = jobj.getString("name");
                pictureAttendees[i] = jobj.getString("profilePicture");
            } catch (JSONException e) {
                e.printStackTrace();
            }

错误发生在我去的行:

jobj = attendanceDetails.getJSONObject(i);

任何帮助都非常感谢。

共有1个答案

孔深
2023-03-14

试试这个:

for(int i = 0; i < attendanceDetails.length(); i++)
    {
        try {
            JSONArray hello = new JSONArray(attendanceDetails.getJSONArray(i));
            JSONObject jObject = new  JSONObject(hello.get(i).toString());
            nameAttendees[i] = jObject.getString("name");
            pictureAttendees[i] = jObject.getString("profilePicture");
        } catch (JSONException e) {
            e.printStackTrace();
        }
 类似资料:
  • 我在使用Jaspersoft Studio和Oracle数据库时出错。一旦有一些数据,以下行 引发以下错误: net.sf.jasperreports.engine.java.lang.java.lang.字符串不能转换为java.lang.布尔 我不明白,为什么Jasper Studio会将其转换为布尔值,因为它被定义为字符串: SQL对我来说也很好: 在视图/表格中:

  • 我正在开发一个android应用程序,我正在尝试使用Volley库。我无法解决的问题是关于JSON的。我检查了我的php文件、结果和Java代码,但仍然得到相同的错误。 有趣的是,截击日志不显示错误消息,但日志显示错误消息。 和 这是我的PHP代码: 结果如下: 和我的Java代码: 我也听说了GSON。这是解决办法吗?有人能帮帮我吗?提前感谢!!

  • 我为一个网站做了一个应用程序。它有一个JSON API。im试图获取结果的URL是:

  • 我将客户数据对象存储为共享首选项(Android)中的JSON字符串,并尝试检索转换回客户对象的字符串并用于验证。从对象到JSON字符串的转换非常好,并且存储在首选项中(作为键值(字符串)对)。 当我尝试使用-我总是得到相同的错误值...类型java.lang.字符串不能转换为JSONObject。 我希望一双不同的眼睛能捕捉到我不能捕捉到的东西。带有数据的错误消息(屏蔽): Value 类型为j

  • 在这里,我试图将数据发送到我的web服务器,并使用解析json并将数据插入mysql数据库。我得到一个错误,表示值stdClass为

  • 我不知道为什么,但是当我试图从JSON获取数据时,我得到了这个错误: JAVA无法在Jsonarray中转换lang.String 这是我的代码, 主要活动: JSON: