在浏览互联网一天后,我在这里提出这个问题:
有没有办法获得 pyparsing 结果,例如
result = longSentence.parseString(text.lower())
采用 JSON 格式?
更新11:46 2013年5月27日:
好。所以我试着让解析器变得简单英语
句子的结果“Go 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?'
}
}
答案 0 :(得分:3)
您必须更明确,但一般的方法是采用解析结果并使用json
模块(无论您是希望将其作为嵌套字典/列表,扁平列表/等。 ..由你决定)
import json
json_string = json.dumps(result.asList())
答案 1 :(得分:2)
确定。在再次尝试浏览文档之后,我发现了一种以 XML 形式返回此数据的非常好的方法:
result = longSentence.parseString(text.lower()).asXML()
如果我添加this question with answers - 就完成了。所以它不是那么容易,但也不是很难以 JSON 形式获得结果。我希望有需要的人能够找到。