簡體   English   中英

在 Python 中解析邏輯 JSON 數據

[英]Parse logical JSON data in Python

我想知道是否存在一些庫來解析包含邏輯運算符的 JSON,以將其轉換為平面查詢字符串。

假設我得到的輸入是:

{
    "Children":[
       {
          "ID":1,
       },
       {
          "ID":2,
       },
       {
          "Children":[
             {
                "ID":3,
             },
             {
                "ID":4,
             }
          ],
          "Type":"Or"
       }
    ],
    "Type":"And"
 }

我想把它簡單地轉換成:

(3 Or 4) AND 1 And 2

你會如何在 Python 中做到這一點?

這取決於您的確切期望是什么; 特別是,如果您可以使用多余的括號,這個問題就會容易得多。

這是一個簡單的遞歸函數,錯誤檢查不充分(即,如果 JSON 不完全符合預期,則可能會引發異常):

def json_to_formula(j):
    if 'Children' in j:                                                                
        return '(' + f" {j['Type']} ".join(map(json_to_formula,
                                           j['Children'])) + ')'
    else:
        return str(j['ID'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM