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


C# JsonTextWriter.WriteString方法代码示例

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


在下文中一共展示了JsonTextWriter.WriteString方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: WriteSearch

 void WriteSearch(JsonTextWriter writer, SearchStatuses search)
 {
     writer.WriteStartObject ();
     writer.WriteKey ("keywords");
     writer.WriteString (search.Keyword);
     writer.WriteKey ("username");
     writer.WriteString (search.Account.ScreenName);
     WriteRestUsage (writer, search.RestInfo);
     writer.WriteEndObject ();
 }
开发者ID:atrandom,项目名称:ktwt,代码行数:10,代码来源:TwitterAccountManager.cs

示例3: WriteAccount

 void WriteAccount(JsonTextWriter writer, TwitterAccount account)
 {
     writer.WriteStartObject ();
     if (account.Credential is NetworkCredential) {
         NetworkCredential nc = account.Credential as NetworkCredential;
         writer.WriteKey ("username");
         writer.WriteString (nc.UserName);
         writer.WriteKey ("password");
         writer.WriteString (nc.Password);
     } else if (account.Credential is OAuthPasswordCache) {
         OAuthPasswordCache pc = account.Credential as OAuthPasswordCache;
         writer.WriteKey ("username");
         writer.WriteString (pc.UserName);
         writer.WriteKey ("password");
         writer.WriteString (pc.Password);
         writer.WriteKey ("token");
         writer.WriteString (pc.AccessToken);
         writer.WriteKey ("secret");
         writer.WriteString (pc.AccessSecret);
     }
     if (account.SelfUserID > 0) {
         writer.WriteKey ("id");
         writer.WriteNumber (account.SelfUserID);
     }
     writer.WriteKey ("rest");
     writer.WriteStartObject ();
     string[] rest_keys = new string[] {"home", "mentions", "dm"};
     TwitterAccount.RestUsage[] rests = new TwitterAccount.RestUsage[] {account.RestHome, account.RestMentions, account.RestDirectMessages};
     for (int i = 0; i < rest_keys.Length; i ++) {
         writer.WriteKey (rest_keys[i]);
         writer.WriteStartObject ();
         writer.WriteKey ("enable");
         writer.WriteBoolean (rests[i].IsEnabled);
         writer.WriteKey ("count");
         writer.WriteNumber (rests[i].Count);
         writer.WriteKey ("interval");
         writer.WriteNumber ((int)rests[i].Interval.TotalSeconds);
         writer.WriteEndObject ();
     }
     writer.WriteEndObject ();
     writer.WriteKey ("streaming");
     if (account.StreamingClient == null) {
         writer.WriteNull ();
     } else {
         writer.WriteStartObject ();
         writer.WriteKey ("mode");
         if (account.StreamingClient.Target is TwitterAccount) {
             writer.WriteString ("follow");
             writer.WriteKey ("username");
             writer.WriteString ((account.StreamingClient.Target as TwitterAccount).ScreenName);
         } else if (account.StreamingClient.Target is SearchStatuses) {
             writer.WriteString ("track");
             writer.WriteKey ("keywords");
             writer.WriteString (account.StreamingClient.SearchKeywords);
         } else if (account.StreamingClient.Target is ListStatuses) {
             writer.WriteString ("list");
             writer.WriteKey ("id");
             writer.WriteNumber ((account.StreamingClient.Target as ListStatuses).List.ID);
         }
         writer.WriteEndObject ();
     }
     writer.WriteEndObject ();
 }
开发者ID:atrandom,项目名称:ktwt,代码行数:63,代码来源:TwitterAccountManager.cs

示例4: WriteList

 void WriteList(JsonTextWriter writer, ListStatuses list)
 {
     writer.WriteStartObject ();
     writer.WriteKey ("id");
     writer.WriteNumber (list.List.ID);
     writer.WriteKey ("username");
     writer.WriteString (list.Account.ScreenName);
     WriteRestUsage (writer, list.RestInfo);
     writer.WriteEndObject ();
 }
开发者ID:atrandom,项目名称:ktwt,代码行数:10,代码来源:TwitterAccountManager.cs

示例5: ProcessRequest

        protected override void ProcessRequest()
        {
            string httpMethod = Request.RequestType;

            if (!CaselessString.Equals(httpMethod, "GET") &&
                !CaselessString.Equals(httpMethod, "HEAD"))
            {
                throw new JsonRpcException(string.Format("HTTP {0} is not supported for RPC execution. Use HTTP GET or HEAD only.", httpMethod));
            }

            //
            // Response will be plain text, though it would have been nice to 
            // be more specific, like text/json.
            //

            Response.ContentType = "text/plain";
            
            //
            // Convert the query string into a call object.
            //

            JsonWriter writer = new JsonTextWriter();
            
            writer.WriteStartObject();
            
            writer.WriteMember("id");
            writer.WriteNumber(0);
            
            writer.WriteMember("method");
            string methodName = Mask.NullString(Request.PathInfo);
            if (methodName.Length == 0)
                writer.WriteNull();
            else
                writer.WriteString(methodName.Substring(1));
            
            writer.WriteMember("params");
            writer.WriteStartObject();

            NameValueCollection query = Request.QueryString;
            
            if (query.HasKeys())
            {
                foreach (string name in query)
                {
                    if (Mask.NullString(name).Length == 0)
                        continue;
                
                    writer.WriteMember(name);

                    string[] values = query.GetValues(name);                    
                    
                    if (values.Length == 0)
                        writer.WriteNull();
                    else if (values.Length == 1)
                        writer.WriteString(values[0]);
                    else 
                        writer.WriteArray(values);
                }
            }
            
            writer.WriteEndObject();
            
            writer.WriteEndObject();
            
            //
            // Delegate rest of the work to JsonRpcDispatcher.
            //

            JsonRpcDispatcher dispatcher = new JsonRpcDispatcher(Service);
            
            if (HttpRequestSecurity.IsLocal(Request))
                dispatcher.SetLocalExecution();
            
            dispatcher.Process(new StringReader(writer.ToString()), Response.Output);
        }
开发者ID:BackupTheBerlios,项目名称:jayrock-svn,代码行数:75,代码来源:JsonRpcGetProtocol.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: SaveConfigInternalFonts

 void SaveConfigInternalFonts(JsonTextWriter writer)
 {
     writer.WriteKey ("main-family");
     writer.WriteString (FontFamily.ToString ());
     writer.WriteKey ("main-size");
     writer.WriteNumber (FontSize);
 }
开发者ID:kazuki,项目名称:ktwt,代码行数:7,代码来源:MainWindow.xaml.cs

示例8: SaveConfigInternalColors

 void SaveConfigInternalColors(JsonTextWriter writer)
 {
     ColorCodeNameConverter conv = new ColorCodeNameConverter ();
     writer.WriteKey ("bg");
     writer.WriteString ((string)conv.Convert (Background, null, null, null));
     writer.WriteKey ("fg");
     writer.WriteString ((string)conv.Convert (Foreground, null, null, null));
     writer.WriteKey ("postTextBoxBg");
     writer.WriteString ((string)conv.Convert (PostTextBox.Background, null, null, null));
     writer.WriteKey ("postTextBoxFg");
     writer.WriteString ((string)conv.Convert (PostTextBox.Foreground, null, null, null));
     writer.WriteKey ("postBg");
     writer.WriteString ((string)conv.Convert (PostBackground, null, null, null));
     writer.WriteKey ("postFg");
     writer.WriteString ((string)conv.Convert (PostForeground, null, null, null));
     writer.WriteKey ("postNameFg");
     writer.WriteString ((string)conv.Convert (NameForeground, null, null, null));
     writer.WriteKey ("postLinkFg");
     writer.WriteString ((string)conv.Convert (LinkForeground, null, null, null));
 }
开发者ID:kazuki,项目名称:ktwt,代码行数:20,代码来源:MainWindow.xaml.cs

示例9: 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


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