我有一个JSON对象,像这样
"office": {
"parkingRatio": 12.0,
"hasGenerators": true,
"generators": [
{
"_id": "ff2dc672-6e15-4aa2-afb0-18f4f69596ad",
"office_id": "b62ce2c1-5fa2-4eee-9ce8-e04a2c3e6513",
"make": "Broom Broom",
"covered": true,
"output": 1234.0
}
]
}
我有这样一个查询:
$.office.generators[?(@._id =='ff2dc672-6e15-4aa2-afb0-18f4f69596ad')]
$.office.generators[?(@.office_id == 'b62ce2c1-5fa2-4eee-9ce8-e04a2c3e6513')]
如果我在一些在线工具上运行这个:
它工作得很好,给了我整个数组项,但如果我在json.net v7中运行它,它什么也不返回。
所以我尝试了下面的想法,它可能是字符串
$.office.generators[?(@.covered == true)]
它可以在在线工具和json.net中工作。所以我尝试了下面的想法,它可能是连字符
$.office.generators[?(@.make == 'Broom Broom')]
在这两种情况下都能正常工作。我的第一个问题有什么问题?
谢谢
找到问题。json _id字段被转换为Guid类型的JValue表达式JValue被转换为String所以当"BooleanQueryExpression"进行比较时
if (v != null && v.Equals(Value))
则不等于
我在github上提交了一个问题