Beispiel #1
0
            private static string SerializeComponent(IViewModule component)
            {
                var nativeObjectMethodsMap = component.Events
                                             .Select(g => new KeyValuePair <string, object>(g, JavascriptSerializer.Undefined))
                                             .Concat(component.PropertiesValues)
                                             .OrderBy(p => p.Key)
                                             .Select(p => new KeyValuePair <string, object>(JavascriptSerializer.GetJavascriptName(p.Key), p.Value));

                return(JavascriptSerializer.Serialize(nativeObjectMethodsMap, o => JavascriptSerializer.Serialize(o)));
            }
Beispiel #2
0
 public VueApplicationContent(
     JavascriptSerializer serializer,
     string name,
     VueOptions options,
     IList <IVueComponent> components)
 {
     _name       = name;
     _serializer = serializer;
     _options    = options;
     _components = components;
 }
    public string yourmethodname(string TheData)
    {
        JavascriptSerializer YourSerializer = new JavascriptSerializer();

        // custom serializer if you need one
        YourSerializer.RegisterConverters(new JavascriptConverter  [] { new YourCustomConverter() });

        //deserialization
        TheData.Deserialize(TheData);

        //serialization
        TheData.Serialize(TheData);
    }
        protected void Page_Load(object sender, EventArgs e)
        {
            ShopifyAuthorizationState state = HttpContext.Current.Session["Shopify.AuthState"] as ShopifyAuthorizationState;
            ShopifyAPIClient          client
                = new ShopifyAPIClient(state);
            string shopData = (string)client.Get("/admin/products.json");
            JavascriptSerializer serializer = new JavascriptSerializer();
            // Here Product is a object class which contains all of the attribute that JSON has.
            List <Product> lstProduct = serializer(shopData);

            GridView1.DataSource = lstProduct;
            GridView1.DataBind();
        }
Beispiel #5
0
            /// <summary>
            /// Loads the specified plugins modules in the specified frame.
            /// </summary>
            /// <param name="plugins"></param>
            /// <param name="frameName"></param>
            public void LoadPlugins(IViewModule[] plugins, string frameName)
            {
                var loadArgs = new[] {
                    JavascriptSerializer.Serialize(plugins.Select(m => new object[] {
                        m.Name,                                                                  // plugin name
                        ViewRender.ToFullUrl(NormalizeUrl(m.MainJsSource)),                      // plugin source
                        m.GetNativeObjectFullName(frameName),                                    // native object name
                        m.DependencyJsSources.Select(s => ViewRender.ToFullUrl(NormalizeUrl(s))) // plugin dependencies
                    })),
                    JavascriptSerializer.Serialize(frameName)
                };

                ExecuteLoaderFunction("loadPlugins", loadArgs);
            }
        public string EscapeJSObjectValue(object o)
        {
            IJSObject ijsobject = o as IJSObject;

            if (ijsobject != null)
            {
                return(this.EscapeJSObject(ijsobject));
            }
            IEnumerable <IJSObject> enumerable = o as IEnumerable <IJSObject>;

            if (enumerable != null)
            {
                return(this.EscapeArray(enumerable));
            }
            return(JavascriptSerializer.SerializeJavascriptObject(o));
        }
        public string EscapeJSObject(IJSObject o)
        {
            ITrackableJSObject trackableJSObject = o as ITrackableJSObject;

            if (trackableJSObject != null)
            {
                if (trackableJSObject.IsTracked)
                {
                    return("CommonAPI.GetTrackedObject(" + JavascriptSerializer.Serialize(trackableJSObject.TrackingCode) + ")");
                }
                if (trackableJSObject.ConstructorFunction != null)
                {
                    return(this.CallJSConstructor(trackableJSObject));
                }
            }
            return(JavascriptSerializer.Serialize(o.ToJavascriptObject()));
        }
            /// <summary>
            /// Loads the specified react component into the specified frame
            /// </summary>
            /// <param name="component"></param>
            /// <param name="frameName"></param>
            public void LoadComponent(IViewModule component, string frameName, bool hasStyleSheet, bool hasPlugins)
            {
                var mainSource        = ViewRender.ToFullUrl(NormalizeUrl(component.MainJsSource));
                var dependencySources = component.DependencyJsSources.Select(s => ViewRender.ToFullUrl(NormalizeUrl(s))).ToArray();
                var cssSources        = component.CssSources.Select(s => ViewRender.ToFullUrl(NormalizeUrl(s))).ToArray();

                var nativeObjectMethodsMap =
                    component.Events.Select(g => new KeyValuePair <string, object>(g, JavascriptSerializer.Undefined))
                    .Concat(component.PropertiesValues)
                    .OrderBy(p => p.Key)
                    .Select(p => new KeyValuePair <string, object>(JavascriptSerializer.GetJavascriptName(p.Key), p.Value));
                var componentSerialization = JavascriptSerializer.Serialize(nativeObjectMethodsMap);
                var componentHash          = ComputeHash(componentSerialization);

                // loadComponent arguments:
                //
                // componentName: string,
                // componentNativeObjectName: string,
                // componentSource: string,
                // dependencySources: string[],
                // cssSources: string[],
                // maxPreRenderedCacheEntries: number,
                // hasStyleSheet: boolean,
                // hasPlugins: boolean,
                // componentNativeObject: Dictionary<any>,
                // frameName: string
                // componentHash: string

                var loadArgs = new[] {
                    JavascriptSerializer.Serialize(component.Name),
                    JavascriptSerializer.Serialize(component.GetNativeObjectFullName(frameName)),
                    JavascriptSerializer.Serialize(mainSource),
                    JavascriptSerializer.Serialize(dependencySources),
                    JavascriptSerializer.Serialize(cssSources),
                    JavascriptSerializer.Serialize(ReactView.PreloadedCacheEntriesSize),
                    JavascriptSerializer.Serialize(hasStyleSheet),
                    JavascriptSerializer.Serialize(hasPlugins),
                    componentSerialization,
                    JavascriptSerializer.Serialize(frameName),
                    JavascriptSerializer.Serialize(componentHash),
                };

                ExecuteLoaderFunction("loadComponent", loadArgs);
            }
Beispiel #9
0
            /// <summary>
            /// Loads the specified react component into the specified frame
            /// </summary>
            public void LoadComponent(IViewModule component, string frameName, bool hasStyleSheet, bool hasPlugins)
            {
                var mainSource        = ViewRender.ToFullUrl(NormalizeUrl(component.MainJsSource));
                var dependencySources = component.DependencyJsSources.Select(s => ViewRender.ToFullUrl(NormalizeUrl(s))).ToArray();
                var cssSources        = component.CssSources.Select(s => ViewRender.ToFullUrl(NormalizeUrl(s))).ToArray();

                var componentSerialization = SerializeComponent(component);
                var componentHash          = ComputeHash(componentSerialization);

                // loadComponent arguments:
                //
                // componentName: string,
                // componentNativeObjectName: string,
                // componentSource: string,
                // dependencySources: string[],
                // cssSources: string[],
                // maxPreRenderedCacheEntries: number,
                // hasStyleSheet: boolean,
                // hasPlugins: boolean,
                // componentNativeObject: Dictionary<any>,
                // frameName: string
                // componentHash: string

                var loadArgs = new[] {
                    JavascriptSerializer.Serialize(component.Name),
                    JavascriptSerializer.Serialize(component.GetNativeObjectFullName(frameName)),
                    JavascriptSerializer.Serialize(mainSource),
                    JavascriptSerializer.Serialize(dependencySources),
                    JavascriptSerializer.Serialize(cssSources),
                    JavascriptSerializer.Serialize(ReactView.PreloadedCacheEntriesSize),
                    JavascriptSerializer.Serialize(hasStyleSheet),
                    JavascriptSerializer.Serialize(hasPlugins),
                    componentSerialization,
                    JavascriptSerializer.Serialize(frameName),
                    JavascriptSerializer.Serialize(componentHash),
                };

                ExecuteLoaderFunction("loadComponent", loadArgs);
            }
        public void JavascriptDataSerialization()
        {
            Assert.AreEqual("true", JavascriptSerializer.Serialize(true));
            Assert.AreEqual("false", JavascriptSerializer.Serialize(false));
            Assert.AreEqual("undefined", JavascriptSerializer.Serialize(JavascriptSerializer.Undefined));

            Assert.AreEqual("1", JavascriptSerializer.Serialize(1));
            Assert.AreEqual("-1", JavascriptSerializer.Serialize(-1));
            Assert.AreEqual("1.1", JavascriptSerializer.Serialize(1.1));
            Assert.AreEqual("-1.1", JavascriptSerializer.Serialize(-1.1));

            Assert.AreEqual("\"hello \\\"world\\\"\"", JavascriptSerializer.Serialize("hello \"world\""));

            Assert.AreEqual("1", JavascriptSerializer.Serialize(SerializationEnum.Value1));

            Assert.AreEqual("[1,2,3]", JavascriptSerializer.Serialize(new[] { 1, 2, 3 }));

            Assert.AreEqual("{\"prop-a\":\"value-a\",\"prop-b\":\"value-b\",\"prop-c\":1.1,\"prop-d\":undefined}",
                            JavascriptSerializer.Serialize(new Dictionary <string, object>()
            {
                { "prop-b", "value-b" }, { "prop-a", "value-a" }, { "prop-c", 1.1 }, { "prop-d", JavascriptSerializer.Undefined }
            }));
        }
Beispiel #11
0
 /// <summary>
 /// Shows the specified error message.
 /// </summary>
 /// <param name="msg"></param>
 public void ShowErrorMessage(string msg)
 {
     msg = msg.Replace("\"", "\\\"");
     ExecuteLoaderFunction("showErrorMessage", JavascriptSerializer.Serialize(msg));
 }
Beispiel #12
0
 /// <summary>
 /// Initializes a new isntance of the MsSql class, with a connection string
 /// and with the default JavaScriptSerializer 
 /// </summary>
 /// <param name="connectionString">The connection string to use when making
 /// connections with this adapter</param>
 public MsSql(string connectionString)
 {
     ConnectionString = connectionString;
     Serializer = new JavascriptSerializer();
 }
Beispiel #13
0
 /// <summary>
 /// Initializes a new isntance of the MsSql class, wihtout a connection string
 /// and with the default JavaScriptSerializer
 /// </summary>
 public MsSql()
 {
     ConnectionString = String.Empty;
     Serializer = new JavascriptSerializer();
 }
Beispiel #14
0
 private string SerializeResourceUrl(ResourceUrl resource)
 {
     return(JavascriptSerializer.Serialize(NormalizeUrl(ViewRender.ToFullUrl(resource.ToString()))));
 }
 public string EscapeArray(IEnumerable <Dictionary <string, object> > arr)
 {
     return(JavascriptSerializer.Serialize(arr));
 }
 public string EscapeBoolean(bool boolean)
 {
     return(JavascriptSerializer.Serialize(boolean));
 }
 public string EscapeString(string str)
 {
     return(JavascriptSerializer.Serialize(str));
 }
 public string EscapeArray(IEnumerable <string> arr)
 {
     return(JavascriptSerializer.Serialize(arr));
 }