Как преобразовать оператор COBOL в JSONPython

Программы на Python
Ответить
Anonymous
 Как преобразовать оператор COBOL в JSON

Сообщение Anonymous »

Мне нужно преобразовать оператор COBOL в JSON:
import re
import json

def extract_cursor(cobol_statement):
pattern = r"MODIFY MAP (?: CURSOR|TEMP|FOR|PERM|CURSOR)?(?:CURSOR)?(?: AT)?(?: FIELD)?(?: DFLD)?\s+([\w-]+)(?!\()"
action_regex = re.compile(pattern, re.IGNORECASE)
action_match = action_regex.search(cobol_statement)
if action_match:
cursor_value = action_match.group(1)
if cursor_value.upper() != "FIELD" and cursor_value.upper() != "DFLD":
result = {
"cursor": cursor_value,
"for": None,
"attributes": None
}
return result
return None

# Example COBOL statements
cobol_statement1 = "MODIFY MAP TEMP CURSOR AT NBS-DS-01"
cobol_statement2 = "MODIFY MAP CURSOR NBS-DS-01"
cobol_statement3 = "MODIFY MAP FOR FIELD NBS-DS-01"
cobol_statement4 = "MODIFY MAP PERM NBS-DS-01"

# Extract cursor from each COBOL statement
cursor_info1 = extract_cursor(cobol_statement1)
cursor_info2 = extract_cursor(cobol_statement2)
cursor_info3 = extract_cursor(cobol_statement3)
cursor_info4 = extract_cursor(cobol_statement4)

# Convert results to JSON format
json_result1 = json.dumps(cursor_info1, indent=4)
json_result2 = json.dumps(cursor_info2, indent=4)
json_result3 = json.dumps(cursor_info3, indent=4)
json_result4 = json.dumps(cursor_info4, indent=4)

print(json_result1)
print(json_result2)
print(json_result3)
print(json_result4)

Мое третье утверждение имеет неправильный результат. Мне нужен вывод типа:
{
"cursor": "NBS-DS-01",
"for": null,
"attributes": null
}


Подробнее здесь: https://stackoverflow.com/questions/782 ... nt-to-json
Ответить

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

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

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

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

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