php,json SyntaxError:JSON.parse:expected','或者'}'}在第1行的对象中的属性值之后

时间:2017-05-26 12:57:20

标签: php json apache firefox curl

test.php的

  <?php

  require_once __DIR__ . '/vendor/autoload.php';

  $urlPaczkomaty =  "http://api.paczkomaty.pl/?do=listmachines_xml";
  $curl = new Curl\Curl();
  $curl->get(  $urlPaczkomaty  );

  $xml = simplexml_load_string($curl->rawResponse);
  $json =  utf8_encode (  json_encode($xml)  );
  $arrList = json_decode($json, TRUE);

  $fieldsToOut = array(
      'name',
      'type',
      'postcode',
      'province',
      'street',
      'town',
      'latitude',
      'longitude',
      'paymentavailable',
      'status'
  );

  $key = "machine";

  if( empty($arrList[ $key ] ) ){
      throw new \Exception( "no key" );
  }
  $out = array();
  $i = 0;
  foreach( $arrList[ $key ] as $item  ){
      foreach(  $fieldsToOut as $field ){
          if( empty( $field  )  ){
              die( 'iii' );
          }
          if( empty($item[ $field ]) ){
              die(" no key: ". $field. "  in = ".( empty($item[ 'name' ]) ? '' : $item[ 'name' ] )  );
              $item[ $field ] = 'xxxxx';
          }
          $out[ $i ][$field] = $item[ $field ];
      }
      $i++;
  }

header('Content-Type: application/json');
echo json_encode($out);

composer.json

{
    "require": {
        "php-curl-class/php-curl-class": "^4.10"
    }
}

在firefox中,当我执行(debian,apache)时: http://test.loc/test.php 我收到了以下错误(不一样):

SyntaxError: JSON.parse: expected ',' or '}' after property value in object at line 1 column 129650 of the JSON data

or

SyntaxError: JSON.parse: expected ':' after property name in object at line 1 column 261200 of the JSON data

在我的本地环境中,即xamp,Windows 10可以正常工作。

有什么建议吗?

祝你好运 罗伯特。

1 个答案:

答案 0 :(得分:0)

问题解决了

我在firefox中删除了addon(插件),解析了json。

罗伯特