路径中带有空格的SelectToken()

7

我最近将Json.Net从50r6升级到60r6版本。考虑以下JSON:

{
    "room list": {
        "regular": [
            {
                "single": {
                    "beds": 1,
                    "bedtype": "double",
                    "balcony": "no"
                }
            }, {
                "double": {
                    "beds": 2,
                    "bedtype": "double",
                    "balcony": "no"
                }
            }
        ]
    }
}

在50r6版本中,这段代码片段可以正常工作:
    Dim j As JObject = JObject.Parse(line)

    Dim jt As JToken = j.SelectToken("room list")

在60r6中,我遇到了一个错误:

"解析路径时出现意外字符: "

这是一个bug吗?如果我更改json和SelectToken()方法为"roomlist",则问题将在60r6中解决。

编辑:如果传递的参数包含括号,使用SelectToken()也会出现相同的错误。


似乎存在一个错误,而且仍然存在。我在观察VS调试中的对象时偶然发现了解决方案。我还发现带单引号的键也不起作用。正在尝试找到另一个解析器。 - Allen King
1个回答

14

把它改成:

Dim jt As JToken = j.SelectToken("['room list']")

2
感谢詹姆斯的及时准确回复。这个有文档记录吗?我找不到。 - zetetic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接