当我序列化为 JSON 时,我习惯于将 .NET 字典变成对象,其中键作为属性,值作为它们的值。(Json.Net 文档有一个简洁的例子。)
我正在使用 GraphQL 并努力实现类似的结果。我的这个根查询的数据基本上是一个Dictionary<MyEnum,Dictionary<string,string>>
. 到目前为止,我最接近的是:
{
"data": {
"outterDict": [
{
"key": "THING_1",
"innerDict": [
{
"key": "key1",
"val": "val1"
},
...
]
},
{
"key": "THING_2",
"innerDict": [
{
"key": "key2",
"val": "val2"
},
...
]
}
]
}
}
但我希望它更接近这一点:
{
"data": {
"collection": {
"THING_1": {
"key1": "val1",
...
},
"THING_2": {
"key2": "val2",
...
}
}
}
}
我很挣扎,因为GraphQL .Net 似乎只理解列表,而不理解字典。
我不觉得我正在尝试做的事情是不合理的。让键成为键似乎是正确的,并且是共享此数据的最有用的方式(例如,正如此答案所建议的那样)。
有没有办法在 GraphQL 中做到这一点?有没有办法在 GraphQL .Net中做到这一点?