0

Bir alanın içinde ifadelerin bulunduğu json dosyalarının bir listesi var. Bu alanları python kullanarak doğrulamak istiyorum. Doğru biçimde yazılıp yazılmadıklarını kontrol etmek istiyorum. İfade, "< =" yerine "<" gibi bir ifadeye sahipse, hata vermelidir. Ve tüm bu hata olasılıklarını bulmak istiyorum.Python'da mantıksal/mantıksal ifadeyi doğrula

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

Python betiğimin bu hatayı yakalamasını istiyorum.

cevap

0

Bunun için normal ifadeyi kullanabilirsiniz. Sağlanan çizgiyi aldım ve bu çizgiler boyunca bir şey size yardımcı olabilir.

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

Bu statik bir yöntemdir, dinamik olmasını istiyorum, 2000 gibi json dosyalarına sahibim ve bu ifadede bir kullanıcının ne tür bir hata yapabileceğini bilmiyorum. Bu yüzden sadece doğru ifade biçimini doğrulamak istiyorum. –

+0

Sadece 'ifadeyi' kontrol ediyor musunuz? Eğer öyleyse, tüm olası operatörleri bir listeye alma ve dosyadaki operatöre karşı nasıl kontrol edin? – padme

+0

Evet, bu bir listedeki tüm geçerli ifadeleri almanın bir çözümü olabilir ve son yorumunuzu almadım. A = 5 ve B = 6 atayım, sonra her iki değişkeni karşılaştırıyorum. Son ifade {var_a}> = {var_b} olmalıdır. –