2012-03-29 3 views
0

평소와 같이 데이터베이스가 엉망이되었습니다. 일부 JSON 문자열이 데이터베이스에 있음을 발견했습니다. JSON 문자열 중 일부가 주위에 큰 따옴표가 없습니다. 키 및/또는 값JSON : JSON 문자열이 엉망으로 수정되었습니다.

필자는 PHP 스크립트를 작성하여 누락 된 따옴표를 감지하고 자동으로 추가 할 수있는 방법에 대해 어떤 권고를 갖고 있습니까? 아니면 편리한 방법이 없습니다 ...

감사합니다.

+1

[PEARs JSON 클래스] (http://pear.php.net/package/Services_JSON)는 upgradephp와 마찬가지로 이러한 Javascript 표현식을 구문 분석 할 수 있습니다. 그러나 가치를 위해 아닙니다. 변환 방법은 바로 그 주제에 대한 이전 질문에서 다루어졌습니다. – mario

+0

@mario 정보를 제공해 주셔서 감사합니다. 그러나 이런 종류의 누락 된 견적 상황을 처리합니까? 문제는 JSON 문자열 중 일부가 잘 형성되지 않았다는 것입니다. 어쨌든 다른 유사한 질문에 대한 검색을 수행하고 내가 찾은 것을 확인합니다. –

+1

예, 누락 된 핵심 따옴표를 처리합니다. 하지만 완전히 왜곡 된 JSON은 재구성 할 수 없습니다. 당신은 그것에 대한 resilent 정규식이 필요합니다. (= 숫자가 너무 많습니다.) – mario

답변

1

json_decodejson_last_error을 사용하면 문자열에 오류가 있는지 감지 할 수 있습니다. 그리고 나서 json_encode으로 유효한 json 값을 다시 쓰십시오.

+0

답장을 보내 주셔서 감사합니다, 그러나 json_last_error가 어떻게 도움이되는지는 모르겠습니다. 오류가 있다는 것을 알고 있지만 문제를 고치는 것이 주된 문제입니다. –

+0

글쎄, 이미 문제를 해결 했으니 다행히 오류 케이스 수가 포함되어있어 매우 구체적인 탐지를 할 수 있습니다 ... 답장을 보내 주셔서 감사 드리며 답변을 수락하겠습니다. –

+0

감사합니다. 흠뻑. 네가 알아 낸 것을 기쁘게 생각한다. – cegfault