Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中检查数据是否为json格式_Python_Regex_Json_Unit Testing - Fatal编程技术网

在python中检查数据是否为json格式

在python中检查数据是否为json格式,python,regex,json,unit-testing,Python,Regex,Json,Unit Testing,这是我的测试类,我正在尝试对我的createaccount方法进行单元测试 createaccount方法是 现在我必须检查createaccount的参数是否为json格式 如果我传递数据= 它应该检查它是否是json, 我确信这是json格式的。 现在在我的方法createaccount中,它应该检查数据是否为json格式, 如果不是,它应该打印错误消息,如果它与正则表达式一起工作?或任何建议,, 谢谢,请看。另外,我建议不要使用正则表达式执行此检查,只需使用标准解析器执行此检查,并使用查看

这是我的测试类,我正在尝试对我的createaccount方法进行单元测试

createaccount方法是

现在我必须检查createaccount的参数是否为json格式

如果我传递数据=

它应该检查它是否是json, 我确信这是json格式的。 现在在我的方法createaccount中,它应该检查数据是否为json格式, 如果不是,它应该打印错误消息,如果它与正则表达式一起工作?或任何建议,,
谢谢,请看。另外,我建议不要使用正则表达式执行此检查,只需使用标准解析器执行此检查,并使用查看来检查错误。另外,我建议不要使用正则表达式执行此检查,只需使用标准解析器进行检查,并使用

检查错误。您可以尝试解析json,如果异常无效,则捕获异常。@RudolfMühlbauer:请添加注释作为答案,如果它们是答案而不是评论。@AlexReynolds在我看来,鲁道夫的建议是在提出更多解决方案之前先尝试一下…@AlexReynolds,你是对的。但是,根据我的心情,我错过了很多RTFM/你在这里的经历。因此,我使用评论来给出提示,而不是发布4行代码,这些代码可以很容易地在web、书籍、教程上找到……问题是,当发布这样一个问题时,10个人启动google或python shell来测试他们的答案。这比OP自己尝试弄明白要花费更多的时间,并且对OP有学习效果。您可以尝试解析json,如果它无效,则捕获异常。@RudolfMühlbauer:请添加注释作为答案,如果它们是答案而不是评论。@AlexReynolds在我看来,鲁道夫的建议是在提出更多解决方案之前先尝试一下…@AlexReynolds,你是对的。但是,根据我的心情,我错过了很多RTFM/你在这里的经历。因此,我使用评论来给出提示,而不是发布4行代码,这些代码可以很容易地在web、书籍、教程上找到……问题是,当发布这样一个问题时,10个人启动google或python shell来测试他们的答案。这比OP自己尝试解决问题要耗费更多的时间,并且对OP有学习效果。JSON是不规则的,因此Python正则表达式基本上无法验证JSON。@Vishruth:你是什么意思?此代码可以正确地验证给定字符串数据是否包含有效的JSON。它是否匹配您期望的数据格式是另一个问题,与JSON验证本身无关。我上面的评论是想说正则表达式方法是徒劳的,你需要使用解析器来代替它。@Tim Pietzcker:对不起!,是的,它工作得很好。我在用另一种方式做!这JSON是不规则的,因此Python正则表达式基本上无法验证JSON。@Vishruth:你是什么意思?此代码可以正确地验证给定字符串数据是否包含有效的JSON。它是否匹配您期望的数据格式是另一个问题,与JSON验证本身无关。我上面的评论是想说正则表达式方法是徒劳的,你需要使用解析器来代替它。@Tim Pietzcker:对不起!,是的,它工作得很好。我在用另一种方式做!
class CreateAccountTest1(unittest.TestCase):
    def testCreateAccount_1(self,data):
        text = "{'user_id':'abc123','action':'add','names':['hello','world']}"
        regex = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(text.replace(/"(\\.|   [^"\\])*"/ g, ''))) && eval('(' + text + ')')
        self.assertRegexpMatches(text, reg, 'my msg')
class CreateAccountClass():
    def CreateAccount(self,data):
 { "_id" : "user@gmail.com", "H_id" : "smsg0", "name" : "vish", "passwrd" : "xj45cd" }
import json
try:
  json.loads(data)
except ValueError:
  print("data was not valid JSON")