Android JSON IllegalStateException

时间:2019-05-31 18:28:42

标签: php json

我使用json_encode函数将ical转换为JSON对象(PHP),这是我的JSON对象:

{  
   "VEVENT":[  
      {  
         "DTSTART":"20190531T030000Z",
         "DTEND":"20190531T033000Z",
         "SUMMARY":"EVENT1",
         "DESCRIPTION":"",
         "UID":"2046_255_71",
         "SEQUENCE":"0",
         "DTSTAMP":"20190531T172850Z",
         "TRANSP":"TRANSPARENT",
         "UNIX_TIMESTAMP":1559289600,
         "REAL_DATETIME":"31.05.2019"
      },
      {  
         "DTSTART":"20190603T030000Z",
         "DTEND":"20190603T033000Z",
         "SUMMARY":"EVENT2",
         "DESCRIPTION":"",
         "UID":"1481_6_13",
         "SEQUENCE":"0",
         "DTSTAMP":"20190531T172850Z",
         "TRANSP":"TRANSPARENT",
         "UNIX_TIMESTAMP":1559548800,
         "REAL_DATETIME":"03.06.2019"
      }
   ]
}

当我尝试在Android应用中解析它时,出现此错误:

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $

看看其他帖子,大多数解决方案是检查JSON对象的第一个括号。我的JSON对象的开头带有括号。我确定为什么会得到这个。

PHP代码:

<?php
    require 'class.iCalReader.php';

    try{

        //setup ical object
        $cur_time_zone = 'America/Chicago';
        $ical_file = 'file.ics';
        $ical = new ICal($ical_file);
        $ical->time_zone = $cur_time_zone;
        date_default_timezone_set($cur_time_zone); //Central or America/Chicago
        $events = $ical->sortEventsWithOrder($ical->events(), SORT_ASC);

        $myJSON = json_encode($events);     
        echo "{" . "\"VEVENT\":" . $myJSON . "}";
    } catch (Exception $e) {
        die($e);
}
?>

0 个答案:

没有答案