2013-05-27 34 views
1

通過網上找一天後我問這個問題在這裏:pyparsing結果作爲一個JSON

有沒有什麼辦法讓pyparsing結果,F.E.

result = longSentence.parseString(text.lower()) 
JSON格式

更新11:46 2013年5月27日:
好的。所以我試着做一個簡單的英語解析器。
句子結果「走5米,你看到了什麼?」現在打印爲列出:

[[[['go'], [['5', 'metres']]]], 'and', ['what do you see?']] 

['what do you see?']SetResultsName('Question')
其他標記被標記相似。

這將是巨大的,如果它會打印,在這種形式的數據:

{ 
    "Sentence1": 
    { 
     "Order": 
     { 
      "Predicate": 'go', 
      "Subject": ['5', 'metres'] 
     } 
    }, 
    "Sentence2": 
    { 
     "Question": 'what do you see?' 
    } 
} 

回答

2

好的。後通過文件去闖闖我發現了一個非常好的方式在XML形式返回此數據:

result = longSentence.parseString(text.lower()).asXML() 

如果我添加this question with answers - 它的完成。所以這不是那麼容易,但也不難得到結果JSON的形式。我希望有需要的人能找到。

3

你必須要更加明確,但一般的做法會是採取解析結果,並使用json模塊(無論你想要這作爲一個嵌套的字典/列表,扁平列表/等等......取決於你)

import json 
json_string = json.dumps(result.asList()) 
+0

這將代表所有列表並放棄所有'.setResultName' – Equidamoid