두 개의 서로 다른 출력으로 bsonfile 변환

두 개의 서로 다른 출력으로 bsonfile 변환

일부 bson 파일을 일부 json 파일로 변환하고 싶습니다. bsondump 함수를 사용하여 이를 수행합니다.

bsondump exemple.bson > example.json

이전 버전의 bsondump 2.4.9(mongodb 버전에 따라 다름)에서는 다음 형식의 올바른 출력을 얻었습니다.효과적인JSON 파일(실제로 키-값 쌍이 포함된 사전) 가끔 시스템을 업그레이드할 예정입니다. 지금은 mongodb 2.6.3입니다. 그것은 내 출력에 영향을 미칩니다... 사전의 값 중 일부가 숫자인 경우, 숫자에 다음 형식으로 추가 추가를 할 때마다:

"key": NumberLong(1234567)

나에게는 간단한 형식으로 출력하는 것이 중요합니다.

"key": 1234567

Python 코드로 JSON 파일을 가져오고 싶기 때문입니다. Python 코드에서는 Pandas를 사용하여 JSON을 DataFrame으로 변환합니다. 이를 위해 나는 사용합니다

pandas.read_json("example.json")

함수를 사용하면 유효한 JSON 문자열을 찾을 수 있기 때문에 오류 메시지가 표시됩니다. Pandas에서 JSON을 직접 읽고 싶기 때문에 유효한 JSON 형식이 필요합니다. 내 질문은 2.6.3 버전 업그레이드 후 직접 유효한 JSON 형식을 얻는 방법입니다. 현재 각 줄의 "NumberLong"을 제거하는 코드를 만들었지만 내 파일에는 줄 수가 많아 타이밍의 문제입니다. 새 버전의 MongoDB를 사용하여 유효한 JSON 형식을 얻는 방법은 무엇입니까?

답변1

bson바이너리 JSON이 아니라 바이너리입니다.확장하다json. 따라서 적절한 접근 방식은 확장된 json 파서를 사용하여 추가 정보를 이해하고 올바르게 처리하는 것입니다.

반면에 사람들은 json과의 비호환성이 문제를 일으킬 수 있다는 것을 알고 있습니다.추가정보 폐지 제안그리고 json을 해석하는 프로그래밍 언어가 이를 처리하도록 하십시오(가능할 수 있기를 바랍니다).

버전 2.6.3의 다른 이점이 무엇인지 잘 모르겠습니다 bsondump. 이전(다음) 버전을 새 설치에 복사할 수 있습니다. 또는 사용할 가치가 있는 추가 기능이 있는 경우 새 버전을 패치하고 컴파일할 수 있습니다.

관련 정보