/// <summary> /// Return a JSON representation of this object. /// </summary> /// <param name="IncludeCryptoHash">Include the hash value of this object.</param> public override JObject ToJSON(Boolean Embedded = true, Boolean IncludeCryptoHash = true) => JSONObject.Create( new JProperty("@id", Id.ToString()), !Embedded ? new JProperty("@context", JSONLDContext.ToString()) : null, new JProperty("timestamp", Timestamp.ToIso8601()), new JProperty("type", Type.ToString()), new JProperty("data", Data), new JProperty("ownerIds", new JArray(Owners.Select(orgId => orgId.ToString()))), Signatures.SafeAny() ? new JProperty("signatures", new JArray(Signatures)) : null );