下面的代碼打印:什麼是測試解析的json地圖是否相等的好方法?
false
false
true
{{a: b}, {a: b}}
代碼
import "dart:json" as JSON;
main() {
print(JSON.parse('{ "a" : "b" }') == JSON.parse('{ "a" : "b" }'));
print({ "a" : "b" } == { "a" : "b" });
print({ "a" : "b" }.toString() == { "a" : "b" }.toString());
Set s = new Set();
s.add(JSON.parse('{ "a" : "b" }'));
s.add(JSON.parse('{ "a" : "b" }'));
print(s);
}
我使用JSON和分析兩個等價的對象,將它們存儲在一個組,希望他們不會複製。情況並非如此,這似乎是因爲前兩行(意外?)導致錯誤。假設每個都是JSON.parse()的結果,正確比較兩個Map對象的有效方法是什麼?