【发布时间】:2015-01-27 10:53:01
【问题描述】:
这是我需要解析的 JSON 字符串。
{
"192.168.1.2_151b3a32-ce00-114a-e000-0004a50c1c6d_stream1" : {
"@class" : "com.barco.compose.media.transcode.internal.h264.H264Gateway",
"id" : "192.168.1.2_151b3a32-ce00-114a-e000-0004a50c1c6d_stream1",
"uri" : {
"high" : "rtp://239.1.1.2:5006",
"low" : "rtp://239.1.1.1:5006"
},
"owner" : {
"@class" : "com.barco.compose.media.transcode.Acma",
"source" : "dvi1-1-mna-1890322558",
"stream" : "udp://239.1.1.7:5004",
"type" : "video",
"resolution" : [ 1, 1 ],
"framerateDivider" : [ 1, 1 ],
"profile" : [ "baseline" ],
"output" : [ "high", "low" ],
"destination" : [ "", "" ],
"ipvsProfile" : "high",
"ipvsSDP" : [ "" ],
"ipvsTitle" : "DiORStream",
"ipvsTagName" : [ "" ],
"ipvsTagValue" : [ "" ],
"ipvsDescription" : "NMSDesc",
"ipvsHLS" : true
},
"type" : "video"
},
"192.168.1.2_151b3a32-ce00-114a-e000-0004a50c1c6d_stream2" : {
"@class" : "com.barco.compose.media.transcode.internal.h264.H264Gateway",
"id" : "192.168.1.2_151b3a32-ce00-114a-e000-0004a50c1c6d_stream2",
"uri" : {
"high" : "rtp://239.1.1.4:5006",
"low" : "rtp://239.1.1.3:5006"
},
"owner" : {
"@class" : "com.barco.compose.media.transcode.Acma",
"source" : "dvi1-1-mna-1890322558",
"stream" : "udp://239.1.1.7:5004",
"type" : "video",
"resolution" : [ 1, 1 ],
"framerateDivider" : [ 1, 1 ],
"profile" : [ "baseline" ],
"output" : [ "high", "low" ],
"destination" : [ "", "" ],
"ipvsProfile" : "high",
"ipvsSDP" : [ "" ],
"ipvsTitle" : "nikhil",
"ipvsTagName" : [ "" ],
"ipvsTagValue" : [ "" ],
"ipvsDescription" : "nikhilDesc",
"ipvsHLS" : true
},
"type" : "video"
}
}
现在我想获得“id”的值。我已经将jsonpath-rw library 用于Python,但这不起作用。如果我使用*,整个响应就会被打印出来。看起来整个响应是根。我在http://jsonpath.curiousconcept.com/上使用了不同的组合,比如*.id,$[0].id。
【问题讨论】:
-
您似乎没有根 id 元素,只有子元素中的 id。
标签: python json python-3.x