gpt4 book ai didi

JSON.net SelectToken() 在路径中带有单引号

转载 作者:行者123 更新时间:2023-12-04 02:11:22 24 4
gpt4 key购买 nike

考虑这个 json:

{
"farms": [
{
"fred's": {
"cows": 5,
"pigs": 2,
"horses": "none"
}
}, {
"old mcdonald's": {
"cows": none,
"pigs": 1,
"horses": 3
}
}
]
}

单独使用单引号好像没有问题:

JObject j = new JObject();
JToken jt = j.SelectToken(farms.fred's);

但是,尝试同时使用单引号和空格时会发生错误。

使用这段代码:

JObject j = new JObject();
JToken jt = j.SelectToken(farms.old mcdonald's);

我遇到了这个错误:

JsonException: Unexpected character while parsing path

所以我做了一些搜索,发现带有空格的术语必须被包围:

[' ']

例子:

JObject j = new JObject();
JToken jt = j.SelectToken(farms.['old mcdonald's']);

但是,现在的错误是:

JsonException: Unexpected character while parsing path indexer: s

是否可以在 SelectToken 路径中同时包含空格和单引号?

最佳答案

好像是...

var x = @"{
""farms"": [
{
""fred's"": {
""cows"": 5,
""pigs"": 2,
""horses"": ""none""
}
},
{
""old mcdonald's"": {
""cows"": ""none"",
""pigs"": 1,
""horses"": 3
}
}
]
}";

var j = JObject.Parse(x);
var jobj = j.SelectToken("farms[1]['old mcdonald\\'s']") as JObject;
jobj.Properties().Select( p => p.Name + ": " + p.Value).Dump();

IEnumerable<String> (3 items)
* cows: none
* pigs: 1
* horses: 3

关于JSON.net SelectToken() 在路径中带有单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37892838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com