2014-04-04 2 views
4

웹 서비스에서 데이터를 수신하고 있습니다. 데이터 형식은 다음과 같습니다.웹 서비스에서 PHP 데이터 비 직렬화

a:5:{s:7:"request";s:14:"94.190.179.118";s:6:"status";i:206;s:12:"currencyCode";s:3:"BGL";} 

입력을 구문 분석해야합니다.

이 형식은 무엇이며 가장 쉬운 구문 분석 방법은 무엇입니까?

...

나는 ';'으로 문자열을 분할하여 구문 분석 할 수 있습니다. 원하는 키와 다음 값에 대한 개별 요소를 검색 할 수 있습니다. (가능하지만 나쁜 해결책) 아마도 데이터는 표준 형식으로 직렬화되며 사전에서 역 직렬화 할 수 있습니다.

+0

심지어 표준 데이터 형식입니까? –

+0

XML과 Json이 아닙니다. 누군가가 그 사실을 알아주기를 바랍니다. 아마도 'a'는 레코드 수를 의미합니다. s - 다음 문자열의 길이, i - 정수 .. –

+0

이 "형식"에 대한 문서는 무엇입니까? 공급자가 더 표준 형식으로 데이터를 제공하도록 요청하는 것이 어떻습니까? – spender

답변

3

이것은 PHP 자체의 serialization 형식입니다. 이것을 읽으려면 Sharp Serialization Library을 시도하십시오.

+0

우수 !! 이것은 작동해야합니다. –

+0

안녕 안톤, 그 작동하지 않습니다. 데이터를 직렬화하지만 출력 결과에 값이 없으며 대부분의 키 값이 누락되었습니다 ... –

5

이 직렬화 된 PHP 같습니다 http://php.net/serialize

PHP는 직렬화 방법에 내장이 포함됩니다. C#에서는 3 번째 라이브러리가 어딘가에 있습니다.

JSON 또는 XML과 같은 표준화 된 형식으로 API를 전달할 수 있는지 알아 보는 것이 좋습니다. 실패하면 직렬화 된 문자열에서 C#의 사용 가능한 개체 데이터로 변환해야합니다.