这有效 JSON 吗?电子邮件地址作为参考类型?
Is this valid JSON? Email address as reference type?
我正在将我们的系统与第 3 方集成。他们发送了一个 JSON 例子来说明他们的期望。 JSON 对我来说似乎不对。用户对象有一个电子邮件地址,看起来像被用作 reference type's member name instead of value type's member name。换句话说,它不应该是一个用户数组,并且数组中的每个项目都是用户对象,其中一个属性是“email”:“example@company.com”?
我要问他们,但也想在这里查看是否有人认为这有问题 JSON
{
"users": {
“example@company.com”: {
"First_Name": "John",
"Last_Name": "Doe",
"Member_Id": "XX9008000",
"Mailing_Address": {
"Street": "P O Box 111 ",
"City": "Red City",
"State": "CA",
"Zip": "99999"
}
},
"enrollments": [
{
"Student": "example@company.com",
"Course_Ids": "369,370"
}
]
}
}
我正在使用 Newtonsoft.Json 将 C# 对象转换为 JSON。输出始终采用以下格式,引用类型的类型:引用类型的 property/value 枚举。
{"users":[{"name":"john","id":"a1"},{"name":"tom","id":"a2"}]}
或
{"users":{"user1":{"name":"john","id":"a1"},"user2":{"name":"tom","id":"a1"}}}
但永远不可能:
{"users":{"a1":{"name":"john"},"a2":{"name":"tom"}}}
因为a1和a2是值类型string Id
的值
可能有效JSON但是可以通过序列化库代码获取吗?还是我必须手动构建它?
在这里忽略引用类型(应该是“<..>”)->“example@company.com”,这是一个有效的 JSON,并且是这种类型的常见用法对象。
结构不是对象数组,而是对象的 id,在其中是对象。
您需要一个字典,其中键可能是用户名(= 电子邮件),值是用户对象。
第一个问题
should it not be an array of users?
这是具有一个或多个元素的不同 json 响应的典型问题。
要生成 Json,最好坚持使用所谓的 Badger-Fish 表示法 http://badgerfish.ning.com/,其中指出:
“嵌套元素成为嵌套属性”但“同一级别的多个元素成为数组元素”因此当有一个元素时,显示 属性 但如果有多个元素,则显示数组" .
由于在同一级别只有一个“users”元素和一个“enrollments”元素,因此不应声明任何数组。
我正在将我们的系统与第 3 方集成。他们发送了一个 JSON 例子来说明他们的期望。 JSON 对我来说似乎不对。用户对象有一个电子邮件地址,看起来像被用作 reference type's member name instead of value type's member name。换句话说,它不应该是一个用户数组,并且数组中的每个项目都是用户对象,其中一个属性是“email”:“example@company.com”?
我要问他们,但也想在这里查看是否有人认为这有问题 JSON
{
"users": {
“example@company.com”: {
"First_Name": "John",
"Last_Name": "Doe",
"Member_Id": "XX9008000",
"Mailing_Address": {
"Street": "P O Box 111 ",
"City": "Red City",
"State": "CA",
"Zip": "99999"
}
},
"enrollments": [
{
"Student": "example@company.com",
"Course_Ids": "369,370"
}
]
}
}
我正在使用 Newtonsoft.Json 将 C# 对象转换为 JSON。输出始终采用以下格式,引用类型的类型:引用类型的 property/value 枚举。
{"users":[{"name":"john","id":"a1"},{"name":"tom","id":"a2"}]}
或
{"users":{"user1":{"name":"john","id":"a1"},"user2":{"name":"tom","id":"a1"}}}
但永远不可能:
{"users":{"a1":{"name":"john"},"a2":{"name":"tom"}}}
因为a1和a2是值类型string Id
可能有效JSON但是可以通过序列化库代码获取吗?还是我必须手动构建它?
在这里忽略引用类型(应该是“<..>”)->“example@company.com”,这是一个有效的 JSON,并且是这种类型的常见用法对象。
结构不是对象数组,而是对象的 id,在其中是对象。
您需要一个字典
第一个问题
should it not be an array of users?
这是具有一个或多个元素的不同 json 响应的典型问题。
要生成 Json,最好坚持使用所谓的 Badger-Fish 表示法 http://badgerfish.ning.com/,其中指出:
“嵌套元素成为嵌套属性”但“同一级别的多个元素成为数组元素”因此当有一个元素时,显示 属性 但如果有多个元素,则显示数组" .
由于在同一级别只有一个“users”元素和一个“enrollments”元素,因此不应声明任何数组。