public static void JayrockWriterObjects()
        {
            for (int j = 0; j < Common.Iterations; j++)
            {
                StringBuilder output = new StringBuilder();
                JsonWriter    writer = new JsonTextWriter(new StringWriter(output));

                int n = Common.SampleObject.Length;
                for (int i = 0; i < n; i += 2)
                {
                    switch ((char)Common.SampleObject[i])
                    {
                    case '{':
                        writer.WriteStartObject();
                        break;

                    case '}':
                        writer.WriteEndObject();
                        break;

                    case '[':
                        writer.WriteStartArray();
                        break;

                    case ']':
                        writer.WriteEndArray();
                        break;

                    case 'P':
                        writer.WriteMember(
                            (string)Common.SampleObject[i + 1]);
                        break;

                    case 'I':
                        writer.WriteNumber(
                            (int)Common.SampleObject[i + 1]);
                        break;

                    case 'D':
                        writer.WriteNumber(
                            (double)Common.SampleObject[i + 1]);
                        break;

                    case 'S':
                        writer.WriteString(
                            (string)Common.SampleObject[i + 1]);
                        break;

                    case 'B':
                        writer.WriteBoolean(
                            (bool)Common.SampleObject[i + 1]);
                        break;

                    case 'N':
                        writer.WriteNull();
                        break;
                    }
                }
            }
        }
Beispiel #2
0
 public override void WriteBoolean(bool b)
 {
     writer.WriteBoolean(b);
 }
Beispiel #3
0
 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();
 }
Beispiel #4
0
 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 ();
 }
Beispiel #5
0
        void SaveConfigInternalMisc(JsonTextWriter writer)
        {
            writer.WriteStartObject ();

            writer.WriteKey ("include_mentions");
            writer.WriteBoolean (_mgr.HomeIncludeMentions);

            writer.WriteEndObject ();
        }
Beispiel #6
0
        public static void JayrockOutputFile()
        {
            using (FileStream fs = new FileStream("jayrock_out.txt",
                                                  FileMode.Create)) {
                StreamWriter out_stream = new StreamWriter(fs);

                StringReader sr = new StringReader(Common.JsonText);

                JsonReader reader = new JsonTextReader(sr);


                out_stream.WriteLine(
                    "*** Reading with Jayrock.Json.JsonReader");

                while (reader.Read())
                {
                    out_stream.Write("Token: {0}", reader.TokenClass);

                    if (reader.Text != null)
                    {
                        out_stream.WriteLine(" Value: {0}", reader.Text);
                    }
                    else
                    {
                        out_stream.WriteLine("");
                    }
                }


                out_stream.WriteLine(
                    "\n*** Writing with Jayrock.Json.JsonWriter");

                JsonWriter writer = new JsonTextWriter(out_stream);
                int        n      = Common.SampleObject.Length;
                for (int i = 0; i < n; i += 2)
                {
                    switch ((char)Common.SampleObject[i])
                    {
                    case '{':
                        writer.WriteStartObject();
                        break;

                    case '}':
                        writer.WriteEndObject();
                        break;

                    case '[':
                        writer.WriteStartArray();
                        break;

                    case ']':
                        writer.WriteEndArray();
                        break;

                    case 'P':
                        writer.WriteMember(
                            (string)Common.SampleObject[i + 1]);
                        break;

                    case 'I':
                        writer.WriteNumber(
                            (int)Common.SampleObject[i + 1]);
                        break;

                    case 'D':
                        writer.WriteNumber(
                            (double)Common.SampleObject[i + 1]);
                        break;

                    case 'S':
                        writer.WriteString(
                            (string)Common.SampleObject[i + 1]);
                        break;

                    case 'B':
                        writer.WriteBoolean(
                            (bool)Common.SampleObject[i + 1]);
                        break;

                    case 'N':
                        writer.WriteNull();
                        break;
                    }
                }


                out_stream.WriteLine(
                    "\n\n*** Data imported with " +
                    "Jayrock.Json.Conversion.JsonConvert\n");

                Person art = (Person)JsonConvert.Import(typeof(Person),
                                                        Common.PersonJson);

                out_stream.Write(art.ToString());


                out_stream.WriteLine(
                    "\n\n*** Object exported with " +
                    "Jayrock.Json.Conversion.JsonConvert\n");

                out_stream.Write(JsonConvert.ExportToString(
                                     Common.SamplePerson));

                out_stream.WriteLine(
                    "\n\n*** Generic object exported with " +
                    "Jayrock.Json.Conversion.JsonConvert\n");
                JsonObject person = (JsonObject)JsonConvert.Import(
                    Common.PersonJson);

                out_stream.Write(JsonConvert.ExportToString(person));


                out_stream.WriteLine(
                    "\n\n*** Hashtable exported with " +
                    "Jayrock.Json.Conversion.JsonConvert\n");

                out_stream.Write(JsonConvert.ExportToString(
                                     Common.HashtablePerson));

                out_stream.Close();
            }
        }