json_decode가받는 특정 문자열에서 작동하는 데 문제가 있습니다.PHP, JSON 디코드의 문자가 잘못되었습니다.
나는이 라인을 좁혀:
"systemNotes [6]": "2013년 1월 9일 오후 12시 52분 - 테스트 이름 - 변경 대금 청구 주소 2 배송 이름을 올린 사람 : 배송 성 : 이메일 주소 : 배송 주소 : 배송 주소 2 : 배송 도시 : 배송 우편 번호 : 배송 국가 : 배송 상태 : 전화 : 청구 이름 : 청구 이름 : 청구 주소 2 : 청구 C :
이 질문에서 json을 복사하면 문제는 재현 할 수 없지만 원래 json의 대표 스 니펫 여기에 있습니다 : http://codepad.org/ZzrC7rqQ - 그리고 jsonlint.com에 있다고 퍼팅 제공 :
Parse error on line 3:
... "systemNotes[6]": "January 09, 2013 12
-----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['
그것이 잘못된 JSON의도록이 문자열에 어떤 문제가 있습니까?
편집 나는 정확한 코드가 건너 오는 찾을 수 있었다.
"1 월 +09 % 2C + 2013 + 12 % 3A52 + PM + - 첫 번째 + 이름 + - + 변경된 ++ 결제 + 주소 + 2 + ++에서 + 배송 + 첫 번째 + 이름 % 3A % 09 + 해운 + 마지막 + 이름 % 3A % 09 + 이메일 + 주소 % 3A % 09 + 해운 + 주소 % 3A + % 09 + 해운 + 주소 + 2 % 3A + % 09 + 해운 + 도시 % 3A + % 09 + 배송 + 우편 번호 % 2FPostal % 3A + % 09 + 배송 + 컨트리 % 3A + % 09 + 배송 + 주 % 3A + % 09 + 전화 3A + % 09 + 결제 + 처음 + 이름 % 3A + % 09 + 3A + % 09 + 대금 + 주소 %의 3A + % 09 + 대금 + 주소 + 2 % 3A + %이 그래서 아마 문제가 내가 parse_str을 수행 할 때에서 오는 괜찮을 것 같습니다 09 + 대금 + C "
, 여기에 제가 사용하고있는 코드가 있습니다 :
$response = apiConnection($data);
parse_str($response, $parse);
$each = json_decode($parse['data']);
foreach($each as $key => $order){
//do something
}
을 어떻게 문자열을 수집하는? – aynber
API를 쿼리하고 문자열로 다시 전송합니다. 다음 배열에 parse_str을 사용하고 있습니다. – Scott
문자열에 비 UTF 8 문자가 있는지 확인할 수 있습니까? –