예제 #1
0
파일: Program.cs 프로젝트: atifaziz/Jayrock
 private static void WriteRssToJson(Channel channel, JsonWriter writer)
 {
     writer.WriteStartObject();
     writer.WriteMember("title");
     writer.WriteString(channel.title);
     writer.WriteMember("link");
     writer.WriteString(channel.link);
     writer.WriteMember("items");
     writer.WriteStartArray();
     foreach (Item item in channel.item)
         WriteRssToJson(item, writer);
     writer.WriteEndArray();
     writer.WriteEndObject();
 }
예제 #2
0
파일: Program.cs 프로젝트: atifaziz/Jayrock
 private static void WriteRssToJson(Item item, JsonWriter writer)
 {
     writer.WriteStartObject();
     writer.WriteMember("title");
     writer.WriteString(item.title);
     writer.WriteMember("description");
     writer.WriteString(item.description);
     writer.WriteMember("link");
     writer.WriteString(item.link);
     writer.WriteEndObject();
 }
예제 #3
0
파일: Program.cs 프로젝트: atifaziz/Jayrock
 private static void WritePhoneNumber(JsonWriter writer, string location, string number)
 {
     writer.WriteStartObject();      //  {
     writer.WriteMember("Location"); //      "Location" :
     writer.WriteString(location);   //          "...",
     writer.WriteMember("Number");   //      "Number" :
     writer.WriteString(number);     //          "..."
     writer.WriteEndObject();        //  }
 }
예제 #4
0
파일: Program.cs 프로젝트: atifaziz/Jayrock
 //
 // NOTE: For sake of brevity, the following WriteRss* methods do not
 // write out all the members of the RichSiteSummary and related types.
 //
 private static void WriteRssToJson(RichSiteSummary rss, JsonWriter writer)
 {
     writer.WriteStartObject();
     writer.WriteMember("version");
     writer.WriteString(rss.version);
     writer.WriteMember("channel");
     WriteRssToJson(rss.channel, writer);
     writer.WriteEndObject();
 }
예제 #5
0
 protected virtual void FormatCustom(object o, JsonWriter writer)
 {
     writer.WriteString(Convert.ToString(o, CultureInfo.InvariantCulture));
 }
예제 #6
0
 protected virtual void FormatString(string value, JsonWriter writer)
 {
     writer.WriteString(value);
 }
예제 #7
0
            protected override void ExportValue(ExportContext context, object value, JsonWriter writer)
            {
                IEnumerable enumerable = (IEnumerable) value;

                ArrayList list = new ArrayList();

                foreach (object item in enumerable)
                    list.Add(item == null ? null : item.ToString());

                writer.WriteString(string.Join(",", (string[]) list.ToArray(typeof(string))));
            }
예제 #8
0
        protected virtual void FormatOther(object o, JsonWriter writer)
        {
            //
            // If the value is is JSON-aware then let it do the job.
            //

            IJsonFormattable jsonFormattable = o as IJsonFormattable;

            if (jsonFormattable != null)
            {
                FormatFormattable(jsonFormattable, writer);
                return;
            }

            //
            // If the value is a dictionary then encode it as a JSON
            // object.
            //

            IDictionary dictionary = o as IDictionary;

            if (dictionary != null)
            {
                FormatDictionary(dictionary, writer);
                return;
            }

            //
            // If the value is enumerable then encode it as a JSON
            // array.
            //

            IEnumerable enumerable = o as IEnumerable;

            if (enumerable != null)
            {
                FormatEnumerable(enumerable, writer);
                return;
            }

            //
            // For all other types, write out its string representation as a
            // simple JSON string.
            //
            
            writer.WriteString(Convert.ToString(o, CultureInfo.InvariantCulture));
        }
        /// <summary>
        /// The export.
        /// </summary>
        /// <param name="context">
        /// The context.
        /// </param>
        /// <param name="value">
        /// The value.
        /// </param>
        /// <param name="writer">
        /// The writer.
        /// </param>
        public void Export(ExportContext context, object value, JsonWriter writer)
        {
            writer.WriteStartObject();
            writer.WriteMember("Critter");

            var critter = (Critter)value;
            writer.WriteStartObject();

            if (exportType > ExportType.Expanded)
            {
                writer.WriteMember("Age");
                writer.WriteNumber(critter.Age);
                writer.WriteMember("N");
                writer.WriteNumber(critter.N);
            }

            writer.WriteMember("Rank");
            writer.WriteNumber(critter.Rank);

            writer.WriteMember("Fitness");
            writer.WriteStartObject();
            int i = 0;
            foreach (var n in Enum.GetNames(typeof(FitnessParameter)))
            {
                writer.WriteMember(n);
                writer.WriteNumber(critter.Fitness[i++]);
            }

            writer.WriteEndObject();

            // writer.WriteMember("Fitness");
            // context.Export(critter.Fitness,writer);
            if (exportType > ExportType.Summary)
            {
                writer.WriteMember("Route");
                writer.WriteStartArray();
                foreach (var node in critter.Route)
                {
                    writer.WriteNumber(node.Node.Id);
                }
                writer.WriteEndArray();
            }

            writer.WriteMember("Legs");
            writer.WriteStartArray();
            foreach (var leg in critter.Fitness.JourneyLegs)
            {
                writer.WriteStartObject();

                if (exportType > ExportType.Summary)
                {
                    writer.WriteMember("Start");
                    writer.WriteNumber(leg.Origin.Id);
                    writer.WriteMember("End");
                    writer.WriteNumber(leg.Destination.Id);
                    writer.WriteMember("Route");
                    writer.WriteString(leg.RouteId1);
                }

                if (exportType > ExportType.Simple)
                {
                    writer.WriteMember("StartLocation");
                    writer.WriteStartObject();
                    writer.WriteMember("Lat");
                    writer.WriteNumber(leg.Origin.Latitude);
                    writer.WriteMember("Long");
                    writer.WriteNumber(leg.Origin.Longitude);

                    writer.WriteEndObject();

                    writer.WriteMember("EndLocation");
                    writer.WriteStartObject();
                    writer.WriteMember("Lat");
                    writer.WriteNumber(leg.Destination.Latitude);
                    writer.WriteMember("Long");
                    writer.WriteNumber(leg.Destination.Longitude);
                    writer.WriteEndObject();
                }

                writer.WriteMember("Mode");
                writer.WriteString(leg.TransportMode.ToString());
                writer.WriteMember("TotalTime");
                context.Export(leg.TotalTime, writer);
                writer.WriteMember("DepartTime");
                context.Export(leg.DepartureTime, writer);
                writer.WriteMember("OriginName");
                writer.WriteString(leg.Origin.StopSpecName);

                writer.WriteEndObject();
            }

            writer.WriteEndArray();

            writer.WriteEndObject();
            writer.WriteEndObject();
        }
예제 #10
0
 protected override void ExportValue(ExportContext context, object value, JsonWriter writer)
 {
     //writer.WriteString(((DateTime)value).ToString("yyyy-MM-dd hh:mm:ss"));
     writer.WriteString(((DateTime)value).ToString("s"));
 }
예제 #11
0
 protected override void ExportValue(ExportContext context, object value, JsonWriter writer)
 {
     writer.WriteString((bool)value ? "1" : "0");
 }
예제 #12
0
 protected override void ExportValue(ExportContext context, object value, JsonWriter writer)
 {
     if (((EmailAdresses)value).Adresses != null)
     {
         StringBuilder sb = new StringBuilder();
         foreach (string item in ((EmailAdresses)value).Adresses)
             sb.Append(item + ",");
         sb.Remove(sb.Length - 1, 1);
         writer.WriteString(sb.ToString());
     }
     else
         writer.WriteString("");
 }
예제 #13
0
 protected override void ExportValue(ExportContext context, object value, JsonWriter writer)
 {
     writer.WriteString(values[(int)value]);
 }