graphql-type-json导出的GraphQLJSON和GraphQLJSONObject有什么区别?

yrefmtwq  于 5个月前  发布在  其他
关注(0)|答案(2)|浏览(69)

从官方软件包文档:
GraphQLJSON可以表示任何JSON可序列化的值,包括标量、数组和对象。GraphQLJSONObject专门表示JSON对象,它涵盖了JSON标量的许多实际用例。
这听起来有点令人困惑,因为对我来说,这两个定义似乎很相似。有人可以帮助我更好地理解这个例子吗?在期待中感谢。
https://www.npmjs.com/package/graphql-type-json

elcex8rz

elcex8rz1#

JSON值可以是string、number、boolean、object、array或null类型。所以GraphQLJSON表示任何类型,而GraphQLJSONObject只表示JSON对象。

9cbw7uwe

9cbw7uwe2#

措辞可能会令人困惑。有一个讨论here,但我认为几个例子使它更容易理解。
GraphQLJSON将接受您可以在有效JSON中分配为键值对的值端的任何内容。

// Each line represents valid GraphQLJSON
3
"3"
"foo"
{"foo": 3}
{"foo": ["bar", "3"]}

// Invalid GraphQLJSON might be something like this
foo

字符串
GraphQLJSONObject更严格,它只包含GraphQLJSON中包含的值的object子集(因此没有原始字符串,数字等)。

// Each line represents valid GraphQLJSONObject
{"foo": 3}
{"foo": ["bar", "3"]}

// Each line represents invalid GraphQLJSONObject
3
"3"
"foo"

相关问题