В настоящее время я пытаюсь извлечь данные из строки JSON и хранить данные в массиве. Данные математическое уравнение и имеет операторы, группу и значениеPython JSON data retrieval
{
"rightArgument": {
"cell": "C6",
"value": 13394.5,
"type": "cell"
},
"leftArgument": {
"rightArgument": {
"value": "20",
"type": "constant"
},
"leftArgument": {
"rightArgument": {
"value": "90",
"type": "constant"
},
"leftArgument": {
"value": "100",
"type": "constant"
},
"type": "operation",
"operator": "+"
},
"type": "operation",
"operator": "+"
},
"type": "operation",
"operator": "+"
}
Я в состоянии извлечь первый оператор и значение (+ и 13394.5), однако при попытке перейти вниз структуру я брошенный с много ошибок. Мне было интересно, может ли кто-нибудь помочь описать или помочь с моим кодом о том, как это сделать?
В настоящее время у меня есть этот Python код:
def _getCurrentOperator(data): # function to find current scope operator, pass in the current scope ie data, rightargument, leftargument
list.append(data["operator"])
data = data["rightArgument"]
list.append(data["value"])
data = data["leftArgument"]
_getCurrentOperator(data)
редактировать:
В некоторых из моих математических формул, которые я должен обслужить скобки, которые показаны по типу: «группа» в моем файле формата JSON : вот пример файла JSON:
{
"rightArgument": {
"rightArgument": {
"value": "2",
"type": "constant"
},
"leftArgument": {
"value": "90",
"type": "constant"
},
"type": "operation",
"operator": "/"
},
"leftArgument": {
"rightArgument": {
"arguments": [],
"name": "pi",
"type": "function"
},
"leftArgument": {
"rightArgument": {
"argument": {
"rightArgument": {
"value": "100",
"type": "constant"
},
"leftArgument": {
"rightArgument": {
"cell": "C7",
"value": 13604.5,
"type": "cell"
},
"leftArgument": {
"rightArgument": {
"value": "20",
"type": "constant"
},
"leftArgument": {
"value": "90",
"type": "constant"
},
"type": "operation",
"operator": "/"
},
"type": "operation",
"operator": "*"
},
"type": "operation",
"operator": "+"
},
"type": "group"
},
"leftArgument": {
"value": "100",
"type": "constant"
},
"type": "operation",
"operator": "+"
},
"type": "operation",
"operator": "+"
},
"type": "operation",
"operator
": "+"
}
Можете ли вы представить пример того, как вы хотите, чтобы эти данные были представлены в массиве? В вашем примере есть четкая рекурсивная структура, которая будет потеряна в случае массива. –
Вы хотите использовать вложенные массивы для представления вложенной структуры словаря во входных данных? Что тогда, если нет? – martineau
Вы говорите: «В настоящее время я пытаюсь извлечь данные из строки JSON». Какая линия? – martineau