本文整理汇总了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;
});
}
示例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 ();
}
示例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 ();
}
示例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 ();
}
示例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);
}
示例6: SaveConfigInternalHashTags
void SaveConfigInternalHashTags(JsonTextWriter writer)
{
writer.WriteStartArray ();
for (int i = 1; i < _hashTags.Count; i ++)
writer.WriteString (_hashTags[i]);
writer.WriteEndArray ();
}
示例7: SaveConfigInternalFonts
void SaveConfigInternalFonts(JsonTextWriter writer)
{
writer.WriteKey ("main-family");
writer.WriteString (FontFamily.ToString ());
writer.WriteKey ("main-size");
writer.WriteNumber (FontSize);
}
示例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));
}
示例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 ();
}
}