解析参数在Python JSON字符串
我想做的事情在我的python脚本如下:解析参数在Python JSON字符串
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的代码):
import json
j = json.loads(d)
print(j['dpid'])
为什么不使用'json.dumps(d)'而不是手动构建JSON? – 2015-03-13 10:13:44
@TimCastelijns我从来不知道!谢谢。 – 2015-03-13 10:17:59
如果你的文件名是test.py 然后 通ARGS像下面
$ python test.py arg1 arg2 arg3
在test.py文件,您可以通过STR(sys.argv中[指数])
在你的情况下访问他们作为字符串
d = '{"dpid":"' + str(sys.argv [1]) +'" ,"flow_id":"flow0001", "actions":{"output":2}}'
然后解析该字符串如下,
import json
obj = json.loads(d)
'json.loads()'不会工作,除非你首先转储它 – 2015-03-13 10:22:06
如果我们有正确的字符串表示格式,那么不需要转储。在上面的场景中,'d'包含json对象的字符串表示形式,当我们使用加载函数时它会给对象。只是检查出来@TimCastelijns – 2015-03-13 10:48:41
哦对。我错过了报价 – 2015-03-13 10:51:31
你的JSON的结构是不正确的。请修复它,期望的输出是什么? – thefourtheye 2015-03-13 09:46:19
*我该如何解析字符串中的参数?*您的意思是'sys.argv [1]'? – 2015-03-13 10:01:36