有没有办法在 GraphQL 中表示键值对的对象

Posted

技术标签:

【中文标题】有没有办法在 GraphQL 中表示键值对的对象【英文标题】:Is there a way to represent an object of key-value pairs in GraphQL 【发布时间】:2017-02-03 11:40:40 【问题描述】:

我在我的 Node.js 应用程序中使用 GraphQL。我想存储一个对象,该对象使用键作为语言环境的短代码和相应语言的字符串值。 (如 en: "Hello", ru: "Привет" 等)

我想在输入中使用 GraphQL 来表示它(就像那样):

mutation 
  addExercise(name:  en: "Hello", ru: "Привет" )

在输出中(像那样)


  exercises 
    _id, name
  

(name 应该返回一个键值对对象:)

[
  _id: 1, name:  en: "Hello", ru: "Привет" 
]

我该怎么做?

我知道我可以这样存储我的数据

 name: "en", value: "Hello `

但上一个似乎更容易。

【问题讨论】:

【参考方案1】:

您可以为 JSON 定义标量类型,然后按原样返回数据。 这是一个可以做到这一点的示例库(使用它或复制和修改): https://github.com/taion/graphql-type-json/blob/master/src/index.js

享受吧!

【讨论】:

以上是关于有没有办法在 GraphQL 中表示键值对的对象的主要内容,如果未能解决你的问题,请参考以下文章

调试 C# 时为啥不能更改字典键值对的计数?

以键为新列重塑键值对的火花数据框

字典,字典永远以键值对的方式出现,不会出现没有键或者没有值得情况

从包含键值对的字符串中获取python字典

如何在 GraphQL 中用键值对表示地图或对象?

遍历对象键值对的两种方法