当前位置: 首页>>代码示例>>C#>>正文


C# JsonTextWriter.WriteEndArray方法代码示例

本文整理汇总了C#中JsonTextWriter.WriteEndArray方法的典型用法代码示例。如果您正苦于以下问题:C# JsonTextWriter.WriteEndArray方法的具体用法?C# JsonTextWriter.WriteEndArray怎么用?C# JsonTextWriter.WriteEndArray使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在JsonTextWriter的用法示例。


在下文中一共展示了JsonTextWriter.WriteEndArray方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Contracts

        //IEnumerable<T> WhereActiveOrderBy(
        //REFACTOR: we're building things up in memory, and inefficiently as well...
        //MESS: NAIVE: these are nasty messes of code as well.
        public ActionResult Contracts()
        {
            //get a list with the newest employees/offices for each employee/office code.
            var newestOffices = db.newestOffices();
            var newestEmployees = db.newestEmployees();

            return authenticatedAction(new String[] { "UT", "UR" }, () => {
                content:
                var result = makeJSONResult();
                using (JsonTextWriter w = new JsonTextWriter()) {
                    w.WriteStartArray();
                    foreach (Contract c in db.Contracts.WAOBTL()) {
                        w.writeSharedJSONMembers(c);
                        w.writeSharedJSONProlog();
                        foreach (Company co in db.Companies.Where(tco => tco.contractCode == c.code).WAOBTL()) {
                            w.writeSharedJSONMembers(co);
                            w.WriteMember("offices");
                            w.WriteStartArray();
                            foreach (Office o in newestOffices
                                .Where(o => o.companyCode == co.code)
                                .Where(o => o.contractCode == c.code)
                                .WAOBTL()
                                 ) {
                                w.WriteStartObject();
                                //LOOK AT THIS! WE'RE NOT JUST SENDING OVER THE CODE, BUT THE VERSION AS WELL!
                                w.WriteMember("code");
                                w.WriteString(o.code + "?" + o.version.ToString());
                                w.WriteMember("description");
                                w.WriteString(o.description);
                                w.WriteEndObject();
                            }
                            w.WriteEndArray();
                            w.WriteMember("employees");
                            w.WriteStartArray();
                            foreach (Employee e in newestEmployees
                                .Where(e => e.companyCode == co.code)
                                .Where(e => e.contractCode == c.code)
                                .WAOBTL()) {
                                w.WriteStartObject();
                                //LOOK AT THIS! WE'RE NOT JUST SENDING OVER THE CODE, BUT THE VERSION AS WELL!
                                w.WriteMember("code");
                                w.WriteString(e.code + "?" + e.version.ToString());
                                w.WriteMember("description");
                                w.WriteString(e.firstName + " " + e.lastName);
                                w.WriteEndObject();
                            }
                            w.WriteEndArray();
                            w.WriteEndObject();
                        }
                        w.writeSharedJSONEpilog();
                    }
                    w.WriteEndArray();
                    result.Content = w.ToString();
                }
                logger.Debug("TreesController.Contracts accessed.");
                return result;
            });
        }
开发者ID:rplacd,项目名称:RedTelephone,代码行数:61,代码来源:TreesController.cs

示例2: ToJson

        public static string ToJson(this Person p)
        {
            StringWriter sw = new StringWriter();
            JsonTextWriter writer = new JsonTextWriter(sw);

            // {
            writer.WriteStartObject();

            // "name" : "Jerry"
            writer.WritePropertyName("name");
            writer.WriteValue(p.Name);

            // "likes": ["Comedy", "Superman"]
            writer.WritePropertyName("likes");
            writer.WriteStartArray();
            foreach (string like in p.Likes)
            {
                writer.WriteValue(like);
            }
            writer.WriteEndArray();

            // }
            writer.WriteEndObject();

            return sw.ToString();
        }
开发者ID:925coder,项目名称:Newtonsoft.Json,代码行数:26,代码来源:PerformanceTests.cs

示例3: SerializeMessage

        public static void SerializeMessage(JsonTextWriter writer, ServiceType type, object message)
        {
            Require.NotNull(writer, "writer");
            Require.NotNull(type, "type");
            Require.NotNull(message, "message");

            writer.WriteStartObject();

            foreach (var field in type.Fields.Values)
            {
                if (
                    field.ShouldSerializeMethod != null &&
                    !field.ShouldSerializeMethod(message)
                )
                    continue;

                writer.WritePropertyName(field.Tag.ToString(CultureInfo.InvariantCulture));

                object value = field.Getter(message);

                if (value == null)
                {
                    writer.WriteNull();
                }
                else if (field.CollectionType != null)
                {
                    writer.WriteStartArray();

                    foreach (object item in (IEnumerable)value)
                    {
                        if (field.ServiceType != null && !field.ServiceType.Type.IsEnum)
                            SerializeMessage(writer, field.ServiceType, item);
                        else
                            writer.WriteValue(item);
                    }

                    writer.WriteEndArray();
                }
                else 
                {
                    if (field.ServiceType != null && !field.ServiceType.Type.IsEnum)
                        SerializeMessage(writer, field.ServiceType, value);
                    else
                        writer.WriteValue(value);
                }
            }

            writer.WriteEndObject();
        }
开发者ID:gmt-europe,项目名称:ProtoChannel,代码行数:49,代码来源:JsonUtil.cs

示例4: Save

        public void Save(ConfigSaveDelegate save)
        {
            using (StreamWriter streamWriter = new StreamWriter (ConfigFilePath, false, System.Text.Encoding.UTF8))
            using (JsonTextWriter writer = new JsonTextWriter (streamWriter)) {
                writer.WriteStartObject ();

                writer.WriteKey ("accounts");
                writer.WriteStartArray ();
                for (int i = 0; i < _accounts.Length; i ++)
                    WriteAccount (writer, _accounts[i]);
                writer.WriteEndArray ();

                writer.WriteKey ("searches");
                writer.WriteStartArray ();
                for (int i = 0; i < _searches.Length; i ++)
                    WriteSearch (writer, _searches[i]);
                writer.WriteEndArray ();

                writer.WriteKey ("lists");
                writer.WriteStartArray ();
                for (int i = 0; i < _lists.Length; i++)
                    WriteList (writer, _lists[i]);
                writer.WriteEndArray ();

                save (writer);
                writer.WriteEndObject ();
            }
        }
开发者ID:atrandom,项目名称:ktwt,代码行数:28,代码来源:TwitterAccountManager.cs

示例5: BuildResponseJson

        private void BuildResponseJson(StringBuilder sb, PendingDownstreamMessage message)
        {
            using (var stringWriter = new StringWriter(sb))
            using (var writer = new JsonTextWriter(stringWriter))
            {
                if (message == null)
                {
                    writer.WriteStartArray();
                    writer.WriteValue("noop");
                    writer.WriteEndArray();
                }
                else
                {
                    var responseType = message.Message.GetType();
                    var responseServiceType = ServiceRegistry.GetAssembly(responseType.Assembly).TypesByType[responseType];

                    writer.WriteStartObject();
                    writer.WritePropertyName("r");
                    writer.WriteValue((int)message.Kind);
                    writer.WritePropertyName("a");
                    writer.WriteValue((int)message.AssociationId);
                    writer.WritePropertyName("t");
                    writer.WriteValue(responseServiceType.Message.Id);
                    writer.WritePropertyName("p");

                    JsonUtil.SerializeMessage(writer, responseServiceType, message.Message);

                    writer.WriteEndObject();
                }
            }
        }
开发者ID:gmt-europe,项目名称:ProtoChannel,代码行数:31,代码来源:ChannelDownstreamRequest.cs

示例6: SaveConfigInternalHashTags

 void SaveConfigInternalHashTags(JsonTextWriter writer)
 {
     writer.WriteStartArray ();
     for (int i = 1; i < _hashTags.Count; i ++)
         writer.WriteString (_hashTags[i]);
     writer.WriteEndArray ();
 }
开发者ID:kazuki,项目名称:ktwt,代码行数:7,代码来源:MainWindow.xaml.cs

示例7: SaveConfigInternal

 void SaveConfigInternal(JsonTextWriter writer, TimelineBase timelines)
 {
     foreach (object item in timelines.TimeLines) {
         writer.WriteStartObject ();
         writer.WriteKey ("type");
         TimelineInfo tl = item as TimelineInfo;
         TabInfo tb = item as TabInfo;
         if (tl != null) {
             if (tl.Search != null) {
                 writer.WriteString ("search");
                 writer.WriteKey ("keywords");
                 writer.WriteString (tl.Search.Keyword);
             } else if (tl.List != null) {
                 writer.WriteString ("list");
                 writer.WriteKey ("id");
                 writer.WriteNumber (tl.List.List.ID);
             } else {
                 writer.WriteString ("account");
                 writer.WriteKey ("subtype");
                 if (tl.Statuses == tl.RestAccount.HomeTimeline)
                     writer.WriteString ("home");
                 else if (tl.Statuses == tl.RestAccount.Mentions)
                     writer.WriteString ("mentions");
                 else if (tl.Statuses == tl.RestAccount.DirectMessages)
                     writer.WriteString ("directmessages");
                 writer.WriteKey ("name");
                 writer.WriteString (tl.RestAccount.ScreenName);
             }
         } else if (tb != null) {
             writer.WriteString ("tab");
             writer.WriteKey ("title");
             writer.WriteString (tb.Title);
             writer.WriteKey ("windows");
             writer.WriteStartArray ();
             SaveConfigInternal (writer, tb);
             writer.WriteEndArray ();
         } else {
             writer.WriteNull ();
         }
         writer.WriteEndObject ();
     }
 }
开发者ID:kazuki,项目名称:ktwt,代码行数:42,代码来源:MainWindow.xaml.cs

示例8: Sources

 public ActionResult Sources()
 {
     return authenticatedAction(new String[] { "UT", "UR" }, () => {
         var result = makeJSONResult();
         using (JsonTextWriter w = new JsonTextWriter()) {
             w.WriteStartArray();
             foreach (IssueSourceLvl1 i in db.IssueSourceLvl1s.WAOBTL()) {
                 w.writeSharedJSONMembers(i);
                 w.writeSharedJSONProlog();
                 foreach (IssueSourceLvl2 i2 in db.IssueSourceLvl2s.Where(ti2 => ti2.parentCode == i.code).WAOBTL()) {
                     w.writeSharedJSONMembers(i2);
                     w.writeSharedJSONProlog();
                     foreach (IssueSourceLvl3 i3 in db.IssueSourceLvl3s
                         .Where(ti3 => ti3.grandparentCode == i.code)
                         .Where(ti3 => ti3.parentCode == i2.code)
                         .WAOBTL()) {
                         w.writeSharedJSONMembers(i3);
                         w.WriteEndObject();
                     }
                     w.writeSharedJSONEpilog();
                 }
                 w.writeSharedJSONEpilog();
             }
             w.WriteEndArray();
             result.Content = w.ToString();
         }
         logger.Debug("TreesController.Sources accessed.");
         return result;
     });
 }
开发者ID:rplacd,项目名称:RedTelephone,代码行数:30,代码来源:TreesController.cs


注:本文中的JsonTextWriter.WriteEndArray方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。