public static void Write(JsonWriter writer, Company item) { if (item == null) { writer.WriteNull(); } else { writer.WriteStartObject(); // <WriterList> // <SimpleWriter> JsonToLong.Write(writer, "id", item.Id, 99); // </SimpleWriter> // <EnumWriter> JsonToEnum <SecurityPolicy> .Write(writer, "joinPolicy", item.JoinPolicy, SecurityPolicy.Open); // </EnumWriter> // <RefWriter> JsonToEmployee.Write(writer, "owner", item.Owner); // </RefWriter> // <RefListWriter> JsonToIList <Employee> .Write(writer, "members", item.Members, JsonToEmployee.Write); // </RefListWriter> // </WriterList> writer.WriteEndObject(); } }
public static void Write(JsonWriter writer, Result item) { if (item == null) { writer.WriteNull(); } else { writer.WriteStartObject(); JsonToString.Write(writer, "ruleId", item.RuleId, default); JsonToRule.Write(writer, "rule", item.Rule); JsonToString.Write(writer, "guid", item.Guid, default); JsonToBool.Write(writer, "isActive", item.IsActive, default); JsonToString.Write(writer, "message", item.Message, default); JsonToInt.Write(writer, "startLine", item.StartLine, default); JsonToDateTime.Write(writer, "whenDetectedUtc", item.WhenDetectedUtc, default); JsonToEnum <BaselineState> .Write(writer, "baselineState", item.BaselineState, default(BaselineState)); JsonToIDictionary <String, String> .Write(writer, "properties", item.Properties, JsonToString.Write); JsonToIList <int> .Write(writer, "tags", item.Tags, JsonToInt.Write); writer.WriteEndObject(); } }
public void JsonToIList_Basics() { Action <JsonWriter, IList <int> > writeValueOnly = (w, v) => JsonToIList <int> .Write(w, v, JsonToInt.Write); Action <JsonWriter, string, IList <int>, IList <int>, bool> writeNameAndValue = (w, pn, v, dv, r) => JsonToIList <int> .Write(w, pn, v, JsonToInt.Write, r); // Lists can be read either by taking the return value, or by passing a list to fill as the argument Func <JsonReader, Database, IList <int> > readViaReturnValue = (r, db) => JsonToIList <int> .Read(r, db, null, JsonToInt.Read); Func <JsonReader, Database, IList <int> > readViaArgument = (r, db) => { if (r.TokenType == JsonToken.Null) { return(null); } IList <int> result = new List <int>(); JsonToIList <int> .Read(r, db, result, JsonToInt.Read); return(result); }; List <int> empty = new List <int>(); List <int> single = new List <int>() { -55 }; // Test null (only readable via return value, as argument must be initialized to be passed) JsonRoundTrip.ValueOnly(null, writeValueOnly, readViaReturnValue); JsonRoundTrip.NameAndValue(single, null, writeNameAndValue, readViaReturnValue); // Test empty (must be padded to RoundTrip as default, so underlying code knows to expect no output written) JsonRoundTrip.ValueOnly(empty, writeValueOnly, readViaReturnValue); JsonRoundTrip.ValueOnly(empty, writeValueOnly, readViaArgument); JsonRoundTrip.NameAndValue(single, empty, writeNameAndValue, readViaReturnValue); JsonRoundTrip.NameAndValue(single, empty, writeNameAndValue, readViaArgument); // Single element array JsonRoundTrip.ValueOnly(single, writeValueOnly, readViaReturnValue); JsonRoundTrip.ValueOnly(single, writeValueOnly, readViaArgument); // Multiple element array List <int> several = new List <int>() { 0, 44, 0, -55 }; JsonRoundTrip.ValueOnly(several, writeValueOnly, readViaReturnValue); JsonRoundTrip.ValueOnly(several, writeValueOnly, readViaArgument); JsonRoundTrip.NameAndValue(several, null, writeNameAndValue, readViaReturnValue); JsonRoundTrip.NameAndValue(several, null, writeNameAndValue, readViaArgument); }
public static void Write(JsonWriter writer, Community item) { if (item == null) { writer.WriteNull(); } else { writer.WriteStartObject(); JsonToIList <Person> .Write(writer, "people", item.People, JsonToPerson.Write); writer.WriteEndObject(); } }
public static void Write(JsonWriter writer, Run item) { if (item == null) { writer.WriteNull(); } else { writer.WriteStartObject(); JsonToIList <Result> .Write(writer, "results", item.Results, JsonToResult.Write); JsonToIList <Rule> .Write(writer, "rules", item.Rules, JsonToRule.Write); writer.WriteEndObject(); } }
public static void Write(JsonWriter writer, FileSystem item) { if (item == null) { writer.WriteNull(); } else { writer.WriteStartObject(); JsonToIList <Folder> .Write(writer, "folders", item.Folders, JsonToFolder.Write); JsonToIList <File> .Write(writer, "files", item.Files, JsonToFile.Write); writer.WriteEndObject(); } }
public static void Write(JsonWriter writer, Rule item) { if (item == null) { writer.WriteNull(); } else { writer.WriteStartObject(); JsonToString.Write(writer, "id", item.Id, default); JsonToString.Write(writer, "guid", item.Guid, default); JsonToUri.Write(writer, "helpUri", item.HelpUri, default); JsonToIList <Rule> .Write(writer, "relatedRules", item.RelatedRules, JsonToRule.Write); writer.WriteEndObject(); } }