【发布时间】:2021-03-01 11:14:48
【问题描述】:
我有两个像下面这样的 json 对象,
Json 1:
{
"data": {
"firstName": "xxx",
"lastName": "yyy",
"age": "29"
}
}
Json 2:
{
"data": {
"firstName": "aaa",
"lastName": "yyy",
"age": "30",
"location": "USA"
},
"meta": {
"browser": "chrome",
"ip": "999.999.999"
}
}
如何比较 json 1 和 json 2 的属性,如果值相等则返回 bool 值?
从上面的示例中,两个 json 对象中的 firstName 值不同,因此结果将返回 bool 值 false ,否则返回 true。
请帮忙,提前谢谢!!!
【问题讨论】:
-
反序列化,比较,返回结果
-
请注意,没有 JSON objects 之类的东西。它们是字符串
-
请注意,
[asp.net]标签用于 ASP.NET(框架),[asp.net-core]用于 ASP.NET(核心)。我希望它们是相互排斥的,所以看到两者有点奇怪,并且会使问题变得不清楚。无论如何,它们与此问题无关,因此我已将其删除。 -
@Cid:我认为引用 JSON 对象是完全合理的。你会反对使用术语“XML 元素”的人吗? “JSON 对象”是与之平行的概念——“对象”是 JSON RFC 中使用的术语:tools.ietf.org/html/rfc8259#section-4。例如,可以在代码中表示 JSON 对象,而无需使用 Json.NET 中的
JObject反序列化为特定于模式的 .NET 类。 -
@Cid:它们是在 JSON RFC 中称为“对象”的实体。因此,在在 JSON 的上下文中(而不是在编程语言表示的上下文中)引用它们时,我认为将它们称为对象是很好的。它们在该上下文中是对象。同样,您是否尝试“纠正”任何提到 XML 元素的人?完全一样,只是在这种情况下“对象”被重载,而“元素”不是。