在python中将参数解析为JSON字符串

在python中将参数解析为JSON字符串,python,json,Python,Json,我想在python脚本中执行以下操作: d = {"dpid": + sys.argv [1] + ,"flow_id" : "flow0001"," "actions":{"output":2}} 我在应用程序中加载的是JSON字符串,有什么帮助吗,我应该如何解析字符串中的参数 您的代码不正确。替换为: d = "{\"dpid\":" + sys.argv[1] + ",\"flow_id\":\"flow0001\",\"actions\":{\"output\":2}}" 确保键入

我想在python脚本中执行以下操作:

d = {"dpid": + sys.argv [1] + ,"flow_id" : "flow0001"," "actions":{"output":2}}

我在应用程序中加载的是JSON字符串,有什么帮助吗,我应该如何解析字符串中的参数

您的代码不正确。替换为:

d  = "{\"dpid\":" + sys.argv[1] + ",\"flow_id\":\"flow0001\",\"actions\":{\"output\":2}}"
确保键入的参数是整数。如果希望稍后解析json字符串并获取dpid,请编写以下代码(python 3代码):


如果文件名为test.py 然后 像下面这样传递参数

$ python test.py arg1 arg2 arg3
在test.py文件中,您可以通过str(sys.argv[index])以字符串形式访问它们

在您的场景中

d = '{"dpid":"' + str(sys.argv [1]) +'" ,"flow_id":"flow0001", "actions":{"output":2}}'
然后按如下方式解析该字符串,


您的JSON结构不正确。请修复它,预期的输出是什么?我应该如何解析字符串中的参数?你是说
sys.argv[1]
?为什么不使用
json.dumps(d)
而不是手动构建json?@TimCastelijns我从来不知道!谢谢。如果我们有正确的字符串表示格式,那么就不需要转储。在上面的场景中,“d”持有一个json对象的字符串表示形式,当我们使用loads函数时,它将给出该对象。只要看看@TimCastelijns
d = '{"dpid":"' + str(sys.argv [1]) +'" ,"flow_id":"flow0001", "actions":{"output":2}}'
import json
obj = json.loads(d)