Python에서 잘못된 JSON에 누락 된 구분 문자를 삽입하는 방법은 무엇입니까?

다니엘 베르 톨디

누락 된 구분 문자를 식별하고 JSON파일 내의 해당 위치에 삽입 할 수있는 프로그램을 만들려고 합니다. 예를 들어, 내 JSON모습이 다음과 같다고 가정 해 봅시다 .

{
    "array": [{
        "id": "123",
        "info": {
            "name": "something"
        }
        "address": {
            "street": "Dreamland"
        }
    }]
}

이것은 JSON어떤 존재이기 때문에 유효하지 않습니다 ,사이 }"address".

여기에 문제가 있습니다.를 사용하려고 json.loads(my_json.read())하면 JSONDecodeError예외 발생 하여 어떤 문자가 누락되었는지, 어떤 문자 위치에 있어야하는지 다음과 같이 알려줍니다.

json.decoder.JSONDecodeError: Expecting ',' delimiter: line 7 column 9 (char 116)

나는 이미 my_json.seek(116)전혀 작동하지 않는 인쇄 시도했지만 단지 숫자 116을 인쇄했습니다.

그래서 내 질문은 : 실제로 예외 오류 메시지를 사용하여 JSON어떤 구분 문자가 누락되고 어떤 위치에 있어야하는지 보여주기 때문에 수정하는 것이 가능합니까, 아니면 가능한 모든 구분 기호를 추적하기 위해 스택 데이터 구조를 사용해야합니까? 누락 된 것을 삽입 하시겠습니까? 아니면 더 좋은 방법이 있습니까?

내가 좋아하는 여기에 다른 질문을 본 적이 이것이것 하지만 첫 번째 내 경우가 아니라 인코딩 문제이고, 두 번째는 매우 구체적인 경우에이다.

이 중 일부가 멍청 해 보이면 죄송합니다. 아직 Python으로 코딩하는 방법을 배우고 있습니다.

시간 내 줘서 고마워 :)

blhsing

구분 기호 ','가 누락 된 위치 ( pos예외 객체 속성으로 저장 됨) 에서 문자열을 슬라이스하고 다음 과 결합 할 수 있습니다 ','.

import json

s = '[{"a":1}{"b":2}{"c":3}]'
while True:
    try:
        data = json.loads(s)
        break
    except json.decoder.JSONDecodeError as e:
        if not e.args[0].startswith("Expecting ',' delimiter:"):
            raise
        s = ','.join((s[:e.pos], s[e.pos:]))
print(s)
print(data)

결과는 다음과 같습니다.

[{"a":1},{"b":2},{"c":3}]
[{'a': 1}, {'b': 2}, {'c': 3}]

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Java import 문에서 누락 된 기호를 올바르게 구성하는 방법은 무엇입니까?

분류에서Dev

누락 된 데이터를 데이터 프레임에 삽입하는 방법은 무엇입니까?

분류에서Dev

json에서 누락 된 속성에 대한 postgres json 쿼리를 작성하는 방법은 무엇입니까?

분류에서Dev

Zenbook에서 누락 된 펌웨어를 찾는 방법은 무엇입니까?

분류에서Dev

데이터 프레임에 누락 된 시간 (분 단위)을 삽입하는 방법은 무엇입니까? 누락 된 시간에 해당하는 y 값을 NA로 할당하는 방법은 무엇입니까?

분류에서Dev

TeamCity에서 누락 된 테스트 커버리지 문제를 해결하는 방법은 무엇입니까?

분류에서Dev

PHP를 사용하여 타사 사이트에서 잘못된 RSS 피드를 구문 분석하는 방법은 무엇입니까?

분류에서Dev

C ++에서 누락 된 숫자를 출력하는 방법은 무엇입니까?

분류에서Dev

Git에서 잘못된 원격 분기 / 태그를 삭제하는 방법은 무엇입니까?

분류에서Dev

R의 MCA (다중 대응 분석)에서 누락 된 값을 제외하는 방법은 무엇입니까?

분류에서Dev

열에서 문자로 구분 된 정보를 추출하는 방법은 무엇입니까?

분류에서Dev

PHP에서 잘못된 문자열 오프셋 [ 'id']를 해결하는 방법은 무엇입니까?

분류에서Dev

누락 된 분기에 대한 데이터가 0 인 행을 Pandas 데이터 프레임에 삽입하는 방법은 무엇입니까?

분류에서Dev

작성자가 누락 된 모든 커밋을 한 분기에서 다른 분기로 체리 픽하는 좋은 방법은 무엇입니까?

분류에서Dev

누락 된 데이터를 포함 할 때 "dplyr"에서 rowSums ()를 사용하는 방법은 무엇입니까?

분류에서Dev

sqlserver를 사용하여 테이블에서 누락 된 번호를 찾는 방법은 무엇입니까?

분류에서Dev

dc.js에서 누락 된 값 처리를 정의하는 방법은 무엇입니까?

분류에서Dev

Posgtres에서 태그 중 하나가 누락 된 기사를 얻는 방법은 무엇입니까?

분류에서Dev

facebookauthprovider에서 누락 된 위치 인수를 해결하는 방법은 무엇입니까?

분류에서Dev

파이썬 __init__에서 누락 된 인수를 처리하는 방법은 무엇입니까?

분류에서Dev

argparse에서 누락 된 인수를 처리하는 방법은 무엇입니까?

분류에서Dev

Ubuntu 14.04에서 누락 된 파일 sources.list를 검색하는 방법은 무엇입니까?

분류에서Dev

잘못된 입력으로부터 libgdx 함수를 JSON에서 보호하는 방법은 무엇입니까?

분류에서Dev

sdcard에서 여러 파일을 구문 분석하고 수신 된 데이터를 데이터베이스에 삽입하는 방법은 무엇입니까?

분류에서Dev

중첩 된 주석에서 누락 된 필수 키 : [: post_id]를 찾는 방법은 무엇입니까?

분류에서Dev

Dymola에서 누락 된 방정식을 찾는 방법은 무엇입니까?

분류에서Dev

분할 된 각 문자열 (JavaScript)에서 숫자를 분할하고 삽입하는 방법은 무엇입니까?

분류에서Dev

UNIX에서 일부 스크립팅을 사용하여 파일의 텍스트 줄에 누락 된 문자를 추가하는 방법은 무엇입니까?

분류에서Dev

R에서 맵의 흰색 / 누락 된 부분을 채우는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Java import 문에서 누락 된 기호를 올바르게 구성하는 방법은 무엇입니까?

  2. 2

    누락 된 데이터를 데이터 프레임에 삽입하는 방법은 무엇입니까?

  3. 3

    json에서 누락 된 속성에 대한 postgres json 쿼리를 작성하는 방법은 무엇입니까?

  4. 4

    Zenbook에서 누락 된 펌웨어를 찾는 방법은 무엇입니까?

  5. 5

    데이터 프레임에 누락 된 시간 (분 단위)을 삽입하는 방법은 무엇입니까? 누락 된 시간에 해당하는 y 값을 NA로 할당하는 방법은 무엇입니까?

  6. 6

    TeamCity에서 누락 된 테스트 커버리지 문제를 해결하는 방법은 무엇입니까?

  7. 7

    PHP를 사용하여 타사 사이트에서 잘못된 RSS 피드를 구문 분석하는 방법은 무엇입니까?

  8. 8

    C ++에서 누락 된 숫자를 출력하는 방법은 무엇입니까?

  9. 9

    Git에서 잘못된 원격 분기 / 태그를 삭제하는 방법은 무엇입니까?

  10. 10

    R의 MCA (다중 대응 분석)에서 누락 된 값을 제외하는 방법은 무엇입니까?

  11. 11

    열에서 문자로 구분 된 정보를 추출하는 방법은 무엇입니까?

  12. 12

    PHP에서 잘못된 문자열 오프셋 [ 'id']를 해결하는 방법은 무엇입니까?

  13. 13

    누락 된 분기에 대한 데이터가 0 인 행을 Pandas 데이터 프레임에 삽입하는 방법은 무엇입니까?

  14. 14

    작성자가 누락 된 모든 커밋을 한 분기에서 다른 분기로 체리 픽하는 좋은 방법은 무엇입니까?

  15. 15

    누락 된 데이터를 포함 할 때 "dplyr"에서 rowSums ()를 사용하는 방법은 무엇입니까?

  16. 16

    sqlserver를 사용하여 테이블에서 누락 된 번호를 찾는 방법은 무엇입니까?

  17. 17

    dc.js에서 누락 된 값 처리를 정의하는 방법은 무엇입니까?

  18. 18

    Posgtres에서 태그 중 하나가 누락 된 기사를 얻는 방법은 무엇입니까?

  19. 19

    facebookauthprovider에서 누락 된 위치 인수를 해결하는 방법은 무엇입니까?

  20. 20

    파이썬 __init__에서 누락 된 인수를 처리하는 방법은 무엇입니까?

  21. 21

    argparse에서 누락 된 인수를 처리하는 방법은 무엇입니까?

  22. 22

    Ubuntu 14.04에서 누락 된 파일 sources.list를 검색하는 방법은 무엇입니까?

  23. 23

    잘못된 입력으로부터 libgdx 함수를 JSON에서 보호하는 방법은 무엇입니까?

  24. 24

    sdcard에서 여러 파일을 구문 분석하고 수신 된 데이터를 데이터베이스에 삽입하는 방법은 무엇입니까?

  25. 25

    중첩 된 주석에서 누락 된 필수 키 : [: post_id]를 찾는 방법은 무엇입니까?

  26. 26

    Dymola에서 누락 된 방정식을 찾는 방법은 무엇입니까?

  27. 27

    분할 된 각 문자열 (JavaScript)에서 숫자를 분할하고 삽입하는 방법은 무엇입니까?

  28. 28

    UNIX에서 일부 스크립팅을 사용하여 파일의 텍스트 줄에 누락 된 문자를 추가하는 방법은 무엇입니까?

  29. 29

    R에서 맵의 흰색 / 누락 된 부분을 채우는 방법은 무엇입니까?

뜨겁다태그

보관