Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
        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();
            }
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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();
            }
        }
Exemplo n.º 5
0
        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();
            }
        }
Exemplo n.º 6
0
        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();
            }
        }
Exemplo n.º 7
0
        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();
            }
        }