JSONDecodeError: ожидаемое значение: строка 384, столбец 25 (символ 10546)

У меня возникла ошибка при загрузке файла json с помощью python. Этот файл - только один из файлов json, которые я поместил в папку, и все остальные файлы json загружаются без проблем. Только для этого конкретного файла он не работает, и я получил эту ошибку

JSONDecodeError: Expecting value: line 384 column 25 (char 10546) Вот мой код на Python, он работает для большинства файлов json в папке:

for filename in os.listdir('C:/Users/yilin.chen/Desktop/JSON'):
    if filename.endswith(".json"):
        data = json.load(open('C:/Users/yilin.chen/Desktop/JSON/' + filename))

Есть у кого-нибудь мысли?

Вот файл json:

 {
   "serialNumber": "PCBA-10327-0001|11|S10575|170524|CRE-14114",
   "partNumber": "PCBA-10327-0001",
   "testRunStartTime": "2017-07-13T11:30:00Z",
   "testRunStopTime": "2017-07-13T11:34:00Z",
   "operator": "lp",
   "computerName": ".PENG-PC",
   "fixtureID": "prototype",
   "overallTestRunStatus": "FAIL",

   "data": [
      {
         "lLimitDetail": null,
         "lowerLimit": null,
         "passFail": "Pass",
         "testCriteria": "Boot DSP USB Service Kernel",
         "testName": "DSP",
         "uLimitDetail": null,
         "units": "PF",
         "upperLimit": null,
         "measurement": 1
      },
      {
         "lLimitDetail": null,
         "lowerLimit": null,
         "passFail": "Pass",
         "testCriteria": "FPGA PGM SFLASH AND LOAD",
         "testName": "FPGA",
         "uLimitDetail": null,
         "units": "PF",
         "upperLimit": null,
         "measurement": 1
      },
      {
         "lLimitDetail": null,
         "lowerLimit": null,
         "passFail": "Pass",
         "testCriteria": "Open HWCAL SPI Flash",
         "testName": "DSP",
         "uLimitDetail": null,
         "units": "PF",
         "upperLimit": null,
         "measurement": 1
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 900,
         "passFail": "Pass",
         "testCriteria": "RX1 DAC Offset C 50 Ohm",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 3000,
         "measurement": 1748
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 900,
         "passFail": "Pass",
         "testCriteria": "RX1 DAC Offset D 50 Ohm",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 3000,
         "measurement": 1748
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 900,
         "passFail": "Pass",
         "testCriteria": "RX1 DAC Offset C 400 Ohm",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 3000,
         "measurement": 1648
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 900,
         "passFail": "Pass",
         "testCriteria": "RX1 DAC Offset D 400 Ohm",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 3000,
         "measurement": 1763
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 900,
         "passFail": "Pass",
         "testCriteria": "RX2 DAC Offset C 50 Ohm",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 3000,
         "measurement": 1448
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 900,
         "passFail": "Pass",
         "testCriteria": "RX2 DAC Offset D 50 Ohm",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 3000,
         "measurement": 1448
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 900,
         "passFail": "Pass",
         "testCriteria": "RX2 DAC Offset C 400 Ohm",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 3000,
         "measurement": 1523
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 900,
         "passFail": "Pass",
         "testCriteria": "RX2 DAC Offset D 400 Ohm",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 3000,
         "measurement": 1388
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": -50,
         "passFail": "Pass",
         "testCriteria": "RX1 FPGA Offset Comp A",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 50,
         "measurement": -13
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": -50,
         "passFail": "Pass",
         "testCriteria": "RX1 FPGA Offset Comp B",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 50,
         "measurement": -25
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": -50,
         "passFail": "Pass",
         "testCriteria": "RX1 FPGA Offset Comp C",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 50,
         "measurement": -25
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": -50,
         "passFail": "Pass",
         "testCriteria": "RX1 FPGA Offset Comp D",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 50,
         "measurement": 7
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": -50,
         "passFail": "Pass",
         "testCriteria": "RX2 FPGA Offset Comp A",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 50,
         "measurement": -13
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": -50,
         "passFail": "Pass",
         "testCriteria": "RX2 FPGA Offset Comp B",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 50,
         "measurement": -25
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": -50,
         "passFail": "Pass",
         "testCriteria": "RX2 FPGA Offset Comp C",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 50,
         "measurement": -25
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": -50,
         "passFail": "Pass",
         "testCriteria": "RX2 FPGA Offset Comp D",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 50,
         "measurement": 7
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 1.02,
         "passFail": "Fail",
         "testCriteria": "RX1 Gain A",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 1.10,
         "measurement": 0.0483602881
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 1.02,
         "passFail": "Pass",
         "testCriteria": "RX1 Gain B",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 1.08,
         "measurement": 1.0499999523
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 1.02,
         "passFail": "Fail",
         "testCriteria": "RX1 Gain C",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 1.10,
         "measurement": 3.7083392143
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 1.02,
         "passFail": "Fail",
         "testCriteria": "RX1 Gain D",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 1.10,
         "measurement": 13.8528099060
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 20,
         "passFail": "Fail",
         "testCriteria": "RX1 CHA Phase Tick",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 40,
         "measurement": 18
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 20,
         "passFail": "Pass",
         "testCriteria": "RX1 CHB Phase Tick",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 40,
         "measurement": 32
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 20,
         "passFail": "Pass",
         "testCriteria": "RX1 CHC Phase Tick",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 40,
         "measurement": 22
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": -10,
         "passFail": "Fail",
         "testCriteria": "RX1 CHD Phase Tick",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 10,
         "measurement": 29
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 9,
         "passFail": "Pass",
         "testCriteria": "RX1 CHA Coarse Delay",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 11,
         "measurement": 10
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 9,
         "passFail": "Pass",
         "testCriteria": "RX1 CHB Coarse Delay",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 11,
         "measurement": 10
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 9,
         "passFail": "Pass",
         "testCriteria": "RX1 CHC Coarse Delay",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 11,
         "measurement": 10
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 9,
         "passFail": "Fail",
         "testCriteria": "RX1 CHD Coarse Delay",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 11,
         "measurement": 0
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 1.02,
         "passFail": "Fail",
         "testCriteria": "RX2 Gain A",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 1.10,
         "measurement": 0.0000000000
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 1.02,
         "passFail": "Pass",
         "testCriteria": "RX2 Gain B",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 1.08,
         "measurement": 1.0499999523
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 1.02,
         "passFail": "Fail",
         "testCriteria": "RX2 Gain C",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 1.10,
         "measurement": Inf
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 1.02,
         "passFail": "Fail",
         "testCriteria": "RX2 Gain D",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 1.10,
         "measurement": 11.1984214783
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 20,
         "passFail": "Pass",
         "testCriteria": "RX2 CHA Phase Tick",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 40,
         "measurement": 32
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 20,
         "passFail": "Pass",
         "testCriteria": "RX2 CHB Phase Tick",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 40,
         "measurement": 32
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 20,
         "passFail": "Fail",
         "testCriteria": "RX2 CHC Phase Tick",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 40,
         "measurement": 2
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": -10,
         "passFail": "Pass",
         "testCriteria": "RX2 CHD Phase Tick",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 10,
         "measurement": 1
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 9,
         "passFail": "Pass",
         "testCriteria": "RX2 CHA Coarse Delay",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 11,
         "measurement": 10
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 9,
         "passFail": "Pass",
         "testCriteria": "RX2 CHB Coarse Delay",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 11,
         "measurement": 10
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 9,
         "passFail": "Pass",
         "testCriteria": "RX2 CHC Coarse Delay",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 11,
         "measurement": 10
      },
      {
         "lLimitDetail": "LE",
         "lowerLimit": 9,
         "passFail": "Pass",
         "testCriteria": "RX2 CHD Coarse Delay",
         "testName": "Mfg Step",
         "uLimitDetail": "GE",
         "units": "Count",
         "upperLimit": 11,
         "measurement": 10
      }
   ]
}

Пожалуйста, опубликуйте также код Python.

Daniele Cappuccio 13.04.2018 15:51

Пожалуйста, разместите код. Я скопировал это на gedit и заметил, что в строке 383 вместо обычного значения Inf стоит double.

skr_robo 13.04.2018 15:54

(Я единственный, кто видит, что там всего 45 строк, а не 384 или 383?)

Arount 13.04.2018 16:55
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
0
3
77
0

Другие вопросы по теме