zoukankan      html  css  js  c++  java
  • JsonHelper

    
    // .Net 3.5
    namespace Test
    {
        using System;
        using System.Text;
        using System.IO;
        using System.Xml;
        using Test;
        using Microshaoft;
        public class Class1
        {
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            //[STAThread]
            static void Main(string[] args)
            {
                //
                // TODO: 在此处添加代码以启动应用程序
                //
                JsonObject x = new JsonObject();
                string json = JsonSerializeHelper.JavaScriptSerialize<JsonObject>(x);
                Console.WriteLine(json);
                JsonObject y = JsonSerializeHelper.DataContractJsonDeserialize<JsonObject>(json); 
                Console.WriteLine(y.F1);
                jsonObject z = y.F4;
                Console.WriteLine("{0},{1},{2}",z.f2 + 10, y.F5[0].f3[1], y.F5[0].f4[0]);
            }
        }
    }
    namespace Test
    {
        using System;
        using System.Collections.Generic;
        using System.Runtime.Serialization;
        [DataContract]
        public class JsonObject
        {
            [DataMember]
            public string F1 = "AAAAA";
            [DataMember]
            public int F2 = 100;
            [DataMember]
            private string _F3 = "BBBB";
            public void Test()
            {
            }
            [DataMember]
            public jsonObject F4 = new jsonObject();
            [DataMember]
            public jsonObject[] F5 = new jsonObject[]
                                            {
                                                new jsonObject()
                                                , new jsonObject()
                                            };
        }
        [DataContract]
        public class jsonObject
        {
            [DataMember]
            public string f1 = "测试";
            [DataMember]
            public int f2 = 10;
            [DataMember]
            public string[] f3 = new string[]{"测试1","测试"};
            [DataMember]
            public List<string> f4 = new List<string>();
            
            public jsonObject()
            {
                f4.Add("测试Tyrannosaurus");
                f4.Add("Amargasaurus");
                f4.Add("Mamenchisaurus");
                f4.Add("Deinonychus");
                f4.Add("Compsognathus");
            }
        }
    }
    namespace Microshaoft
    {
        using System;
        using System.IO;
        using System.Text;
        using System.Runtime.Serialization.Json;
        //“System.Web.Script.Serialization.JavaScriptSerializer.JavaScriptSerializer()”已过时:
        //“The recommended alternative is System.Runtime.Serialization.DataContractJsonSerializer.”
        using System.Web.Script.Serialization;
        public static class JsonSerializeHelper
        {
            public static string DataContractJsonSerialize<T>(T jsonObject)
            {
                DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
                MemoryStream ms = new MemoryStream();
                serializer.WriteObject(ms, jsonObject);
                string json = Encoding.UTF8.GetString(ms.GetBuffer());
                ms.Close();
                ms.Dispose();
                ms = null;
                return json;
            }
            public static T DataContractJsonDeserialize<T>(string json)
            {
                DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
                MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json));
                T jto = (T) serializer.ReadObject(ms);
                ms.Close();
                ms.Dispose();
                ms = null;
                return jto; 
            }
            public static string JavaScriptSerialize<T>(T jsonObject)
            {
                JavaScriptSerializer serializer = new JavaScriptSerializer();
                StringBuilder sb = new StringBuilder();
                serializer.Serialize(jsonObject, sb);
                return sb.ToString();
            }
            public static T JavaScriptDeserialize<T>(string json)
            {
                return (T) new JavaScriptSerializer().Deserialize<T>(json); 
            }
        }
    }
    
    
  • 相关阅读:
    hdu1425
    iOS 纯代码跳转到Xib界面和Storyboard界面
    iOS 获取当前app的 App Store 版本号
    iOS 延时方法,定时器。等待一段时间在执行
    iOS获取当前app的名称和版本号及其他信息(持续维护)
    iOS 截取字符串(持续更新)截取、匹配、分隔
    iOS 屏幕大小尺寸,分辨率,代码获取屏幕大小(持续维护添加)
    iOS NSString只保留字符串中的数字
    iOS NSlog打印数据不完全,xcode处理办法
    iOS Xcode 10.3 xib:-1:未能找到或创建描述的执行上下文“<IBCocoaTouchPlatformToolDescript
  • 原文地址:https://www.cnblogs.com/Microshaoft/p/json.html
Copyright © 2011-2022 走看看