2016-10-24 2 views
1

저는 대개 데이터베이스 측면에서 API와 JSON과 상호 작용 한 것은 처음입니다.JSON 응답 이상하게 형식화 됨

그걸로 저는 현재 작업하고있는 API 중 하나와 혼동합니다.

저는 해당 서비스 사용자 중 일부에 대한 정보를 제공 할 수있는 API가있는 공급 업체가 있습니다. 문제는 응답이 JSON에없는 것처럼 보이거나 내가 본 JSON 버전이 아닌 경우입니다.

응답은 다음과 같습니다.

{"Header":"Field1,Field2,Field3,Field4", "Rows":["Row1Value1,Row1Value2,Row1Value3,Row1Value4","Row2Value1,Row2Value2,Row2Value3,Row2Value4"]} 

지금까지 JSON으로 해왔 던 모든 작업에 문제가있는 것 같습니다. 나는 이것을 파이썬에서 사용할 수있는 것 또는 Powershell로 해석 할 수 없다.

형식 유형입니까? 아니면이 공급 업체가 JSON이 아니며 자체적으로 해석해야하는 이상한 일입니까?

+0

"JSON"내보내기 구현시 최소한의 노력이 필요합니다. 그것은 기본적으로 CSV 파일에 대한 JSON 래퍼입니다. JSON으로 부분적으로 구문 분석 한 다음 행을 반복 (쉼표로 분리)하여 값을 추출 할 수 있습니다. – kindall

답변

1

절반 JSON 구현처럼 보입니다. 외부 컨테이너는 JSON처럼 보이고 행에 대한 JSON 목록을 얻지 만 내부 내용은 Header이고 Rows의 각 행은 자기 자신을 토큰 화 (쉼표로 분리)해야하는 문자열처럼 보입니다.

1

여기에는 다소 혼란이 있습니다. JSON은 말 그대로 JavaScript Object Notation을 의미합니다. JS에서 유효한 객체를 파싱하고 String, Bool, Int, Float, Array 및 Object 데이터 유형으로 제한되는 모든 것은 JSON입니다.

그래서이 JSON입니까? 예, 의문의 여지가 없습니다. 이 좋은 JSON입니까? 그렇지 않아. 안타깝게도 JSON 객체를 표 형식으로 파싱 할 수 있다는 생각이 들겠지 만, 여기서는 직접 물건을 분할해야합니다.

간단한 문자열 조작 (split())을 사용하면 쉽게 행을 구문 분석하고 마음의 내용을 재구성 할 수 있습니다.