Чтение и анализ необработанных данных из файла JSON - PullRequest
0 голосов
/ 26 ноября 2018

Я использую QzTray, чтобы распечатать квитанцию ​​через мое приложение nodejs.Я должен создать массив json, который выглядит следующим образом

[
    '\x1B'+'\x40',
    '\x1B'+'\x61'+'\x31',
    'Beverly Hills, CA  90210'+'\x0A',
    '\x0A',
    'www.qz.io'+'\x0A',
    '\x0A',
    '\x0A',
    'May 18, 2016 10:30 AM'+'\x0A',
    '\x0A',
    '\x0A',
    '\x0A',
    'Transaction # 123456 Register: 3'+'\x0A',
    '\x0A',
    '\x0A',
    '\x0A',
    '\x1B'+'\x61'+'\x30',
    'Baklava (Qty 4)       9.00'+'\x1B'+'\x74'+'\x13'+'\xAA',
    '\x0A',
    'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'+'\x0A',
    '\x1B'+'\x45'+'\x0D',
    'Here\'s some bold text!',
    '\x0A',
    '\x1B'+'\x45'+'\x0A',
    '\x1D'+'\x21'+'\x11',
    'Here\'s large text!',
    '\x0A',
    '\x1D'+'\x21'+'\x00',
    '\x1B'+'\x61'+'\x32',
    '\x1B'+'\x21'+'\x30',
    'DRINK ME',
    '\x1B'+'\x21'+'\x0A'+'\x1B'+'\x45'+'\x0A',
    '\x0A'+'\x0A',
    '\x1B'+'\x61'+'\x30',
    '------------------------------------------'+'\x0A',
    '\x1B'+'\x4D'+'\x31',
    'EAT ME'+'\x0A',
    '\x1B'+'\x4D'+'\x30',
    '------------------------------------------'+'\x0A',
    'normal text',
    '\x1B'+'\x61'+'\x30',
    '\x0A'+'\x0A'+'\x0A'+'\x0A'+'\x0A'+'\x0A'+'\x0A',
    '\x1B'+'\x69',
    '\x10'+'\x14'+'\x01'+'\x00'+'\x05',
  ]

Проблема в том, что когда я пытаюсь проанализировать этот файл с помощью JSON.parse (), я всегда получаю ошибку

Uncaught SyntaxError: Unexpected token ' in JSON at position 7
    at JSON.parse (<anonymous>)
    at print (electronAPI_1.0.js:41)
    at HTMLInputElement.onclick (index.html:15)

Вот код, который я использую, если он может помочь

var jsonConfig1 = JSON.parse(fs.readFileSync('couponConfig1.json', 'utf8'));

1 Ответ

0 голосов
/ 26 ноября 2018

Ваш JSON содержит одинарные кавычки, а не двойные, что приведет к ошибке.
Вы также используете управляющие коды ANSI вместо кодов UTF-16.Коды USON-16 - это то, что использует JSON, поэтому выдает ошибку, когда ваш Javascript пытается прочитать JSON.
Также возможно, что вы использовали escape-коды UTF-8, которые делят 127 идентичных символов с ANSI.В этом случае вы можете использовать http://www.fileformat.info/info/unicode/ для преобразования ваших команд в UTF-16.

...