0

1つのフィールドに式があるjsonファイルのリストがあります。私はpythonを使ってこれらのフィールドを検証したいと思います。私は彼らが正しいフォーマットで書かれているかどうか、例えばexpressionがthis- "< ="ではなく "<"のようなものであれば、スクリプトにエラーが表示されます。そして私はそのようなエラーの可能性をすべて見つけたいと思っています。Pythonで論理式/ブール式を検証します

私はpythonスクリプトでそのエラーをキャッチします。

答えて

0

これには正規表現を使用できます。私はラインを提供しており、これらのラインに沿って何かがあなたを助けるかもしれない。静的な方法だ

import json 
import re 

data = '{ "name": "test", "id": "1", "description": "Its a test", "expressions": "{var_a} = 5", "expressions": "{var_b} = 6", "expressions": "{var_a} => {var_b}", "unittest": "test.txt" }' 

pData = json.loads(data) 

if re.search('>=',pData['expressions']): 
    print 'OK' 
else: 
    print 'Error' 
+0

私は2000年、このようなJSONファイルの周りに持っていると私は、ユーザーがその式で行われた可能性のあるエラーの種類がわからないよう、私は、それが動的になりたいです。だから私はちょうど正しい表現形式を検証したい。 –

+0

「式」だけをチェックしていますか?そうであれば、リスト内のすべての演算子を取得し、その中の演算子をチェックしてください。 – padme

+0

ええ、それはリスト内のすべての有効な式を取るソリューションになる可能性があり、私はあなたの最後のコメントを持っていませんでした。私は= 5とB = 6を割り当てて、両方の変数を比較しています。最後の式は{var_a}> = {var_b}です。 –