/// <summary> /// Determines whether the specified <see cref="object"/> is equal to the current <see cref="object"/>. /// </summary> /// <returns> /// true if the specified <see cref="object"/> is equal to the current <see cref="object"/>; otherwise, false. /// </returns> /// <param name="obj">The <see cref="object"/> to compare with the current <see cref="object"/>. </param> public override bool Equals(object obj) { if (!(obj is JsonObject json)) { return(false); } if (!Keys.ContentsEqual(json.Keys)) { return(false); } return(this.All(pair => json[pair.Key].Equals(pair.Value))); }