带有defiant.js节点的空格的XPath表达式

我正在使用defiant.js搜索json。 根据他们的文档,我需要提供xpath来搜索json中的特定元素。 当节点中没有空格时,我很成功。 但我的json现在包含空格。 这是我的csv。 我想获得一个具有特定证书编号的项目。

[ { "Certificate Number":1019174, "Last Name":"MA", "First Name":"SHI", "Title":"MR", "DOB":"1/28/1990", "Address":"75 LEYLAND HOUSE", "City":"London", "Postal Code":"E14 0BU", "Country":"UK", "Passpot Number":"E0438750", "Course Level":7, "Course Details":"POST GRADUATE DIPLOMA IN INTERNATIONAL COMMERCIAL LAW", "Course Start Date":"2/2/2014", "Course End Date":"2/23/2015", "Note":"RPL Route Entry", "Remarks":"" }, { "Certificate Number":101235, "Last Name":"UD", "First Name":"HAN", "Title":"MR", "DOB":"1/28/1990", "Address":"75 LEYLAND HOUSE", "City":"London", "Postal Code":"E14 0BU", "Country":"UK", "Passpot Number":"E0438750", "Course Level":7, "Course Details":"POST GRADUATE DIPLOMA IN INTERNATIONAL COMMERCIAL LAW", "Course Start Date":"2/2/2014", "Course End Date":"2/23/2015", "Note":"RPL Route Entry", "Remarks":"" } ] 

我的xpath是

 //[Certificate Number="101234"] 

当属性名称像CertificateNumber时,我没有问题找到该项目。 但是证书和号码之间的空格我无法获得该项目。 那么如何从这个json获得具有特定证书编号的项目。 除了defiant.js之外的任何替代解决方案都可以。

似乎作为XML节点名称无效的JSON属性(因为它们包含空格),它们将被defiant.js转换为命名空间中的XML属性。

例如,这部分JSON ..:

 { "Certificate Number":101235, "Last Name":"UD", "First Name":"HAN", "Title":"MR", "DOB":"1/28/1990", "Address":"75 LEYLAND HOUSE", "City":"London", "Postal Code":"E14 0BU", "Country":"UK", "Passpot Number":"E0438750", "Course Level":7, "Course Details":"POST GRADUATE DIPLOMA IN INTERNATIONAL COMMERCIAL LAW", "Course Start Date":"2/2/2014", "Course End Date":"2/23/2015", "Note":"RPL Route Entry", "Remarks":"" } 

..getting转换为以下XML结构(此处仅发布XML的相关部分):

  101235 UD HAN MR 1/28/1990 
75 LEYLAND HOUSE
London E14 0BU UK E0438750 7 POST GRADUATE DIPLOMA IN INTERNATIONAL COMMERCIAL LAW 2/2/2014 2/23/2015 RPL Route Entry

因此,根据XML结构,这是一个可能通过“证书号”值获得上述元素的XPath:

 //*[*[@*="Certificate Number" and .=101235]] 

使用JSONPath,您应该可以使用

 //Certificate Number="101235" 

不需要[]