Экранирование двойных кавычек при отправке JSON в качестве аргумента в программе PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Экранирование двойных кавычек при отправке JSON в качестве аргумента в программе Python

Сообщение Anonymous »

Я знаю, что существует много подобных проблем, но мне не удалось найти ответ на мой вопрос.
Проблема, с которой я столкнулся, заключается в том, что я не могу правильно избежать двойных кавычек.
Это моя строка JSON:

Код: Выделить всё

"{"source":{"datatype":"panorama","project":"Test project","zoomlevel":19,"imageids": [14295321, 14295325, 14295332, 14295303, 14295301]}}"
Если я вручную изменю строку JSON следующим образом:

Код: Выделить всё

"{\"source\":{\"datatype\":\"panorama\",\"project\":\"Test project\",\"zoomlevel\":19,\"imageids\": [14295321, 14295325, 14295332, 14295303, 14295301]}}"
И отправим это в мой скрипт Python:

Код: Выделить всё

import json
import sys

input_argv = str(sys.argv[1])
input_str = json.loads(input_argv)
image_ids = input_str['source']['imageids']
image_id = image_ids[0]
project_name = input_str['source']['project']

print(image_id, project_name)
И это работает так, как ожидалось. Однако, если я использую немодифицированную строку JSON и отправляю ее следующему скрипту:

Код: Выделить всё

import json
import sys

input_argv = str(sys.argv[1])
input_clean = input_argv.replace('"','\"')
input_str = json.loads(input_clean)
image_ids = input_str['source']['imageids']
image_id = image_ids[0]
project_name = input_str['source']['project']

print(image_id, project_name)
Но это выдает следующую ошибку:

Код: Выделить всё

json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
Я пробовал все, что мог, но безуспешно.
Может ли кто-нибудь мне с этим помочь?

Подробнее здесь: https://stackoverflow.com/questions/615 ... on-program
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Шаблон Log4j2: экранирование двойных кавычек в значениях передаваемых сообщений
    Anonymous » » в форуме JAVA
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Шаблон Log4j2: экранирование двойных кавычек в значениях передаваемых сообщений
    Anonymous » » в форуме JAVA
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Проблема с использованием двойных кавычек в качестве аргумента командной линии в C ++ [Duplicate]
    Anonymous » » в форуме C++
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Проблема с использованием двойных кавычек в качестве аргумента командной строки в C ++ [Duplicate]
    Anonymous » » в форуме C++
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Экранирование кавычек в подпроцессах Python для Windows
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»