我正在序列化一个匿名对象,以用作HTTP发布请求的请求消息。问题在于,其中一个JSON密钥的名称中包含一个点。 VS抛出“无效的匿名类型成员声明器”错误。
return JsonConvert.SerializeObject(new
{
query = "something",
firstname.keyword = "xyz"
});
我该怎么做才能解决此问题?
编辑:真正的json请求看起来像这样,所以我认为我不能使用字典:
{
"query": {
"bool": {
"must": [
{
"term": {
"firstname.keyword": ""
}
}
],
"must_not": [ ],
"should": [ ]
}
},
"from": 0,
"size": 10,
"sort": [ ],
"aggs": { }
}
Json通常可以使用数组,字典和匿名对象表示。
您的Json的第一部分可以如下生成:
return JsonConvert.SerializeObject(new
{
query = new
{
@bool = new
{
must = new[]
{
new
{
term = new Dictionary<string, object>
{
["firstname.keyword"] = string.Empty,
}
}
}
}
}
});