这是一个JASON格式的字符串
{Mobile:"15050471213",QueryResult:"True",ProvinceName:"江苏",ProvinceID:"16",CityName:"苏州",CityID:"226",AreaCode:"0512",CardType:"江苏移动全球通卡"}
在后台我怎么才能读取QueryResult,CityID这两个节点的值呢,求大神现身帮助。.NETC#JASON

解决方案 »

  1.   

    可以用JavaScriptSerializer类 (System.Web.Script.Serialization)
      

  2.   


    class Program
        {
            static void Main(string[] args)
            {
                String json = @"{Mobile:""15050471213"",QueryResult:""True"",ProvinceName:""江苏"",ProvinceID:""16"",CityName:""苏州"",CityID:""226"",AreaCode:""0512"",CardType:""江苏移动全球通卡""}";            Card card = Newtonsoft.Json.JsonConvert.DeserializeObject<Card>(json);            Console.WriteLine(String.Format("QueryResult:{0},CityID:{1}", card.QueryResult, card.CityID));            Console.ReadKey();
            }
        }
        public class Card
        {
            public Boolean QueryResult { get; set; }
            public Int32 CityID { get; set; }
        }
    需要添加对json.net的引用。
      

  3.   


    using Newtonsoft.Json.Linq; string json="{Mobile:\"15050471213\",QueryResult:\"True\",ProvinceName:\"江苏\",ProvinceID:\"16\",CityName:\"苏州\",CityID:\"226\",AreaCode:\"0512\",CardType:\"江苏移动全球通卡\"}";
                var result = JObject.Parse(json);
                string s = result["QueryResult"].ToString();
                string t = result["CityID"].ToString();
      

  4.   

    Newtonsoft这个命名控件在类中是引不到的,我说的类是三层中BUSSINESS中的类
      

  5.   

    Newtonsoft这个命名控件在类中是引不到的,我说的类是三层中BUSSINESS中的类
    我的天啊, Newtonsoft是个第三方组件库,这点都没明白?
    还是把基础概念弄熟了在玩三层吧,别一心向着代码工人的方向发展了。
      

  6.   

    引用不到,是因为你没有引用这个DLL:
    Newtonsoft.Json.dll正则可以来取到值,但是我不建议你这么做
      

  7.   

    Newtonsoft这个命名控件在类中是引不到的,我说的类是三层中BUSSINESS中的类
    我的天啊, Newtonsoft是个第三方组件库,这点都没明白?
    还是把基础概念弄熟了在玩三层吧,别一心向着代码工人的方向发展了。
    我是在公司啊,我们的框架是技术支持组搭建的,是固定的,我们没权利引用第三方DLL的。
      

  8.   

    framework 自带的类库页可以实现/// <summary>   
            /// json字符串转换成对象   
            /// </summary>   
            /// <typeparam name="T"></typeparam>   
            /// <param name="json">要转换成对象的json字符串</param>   
            /// <returns></returns>   
            public static T DataContractJsonDeserialize<T>(string json)
            {
                System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(T));
                T obj = default(T);
                using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
                {
                    obj = (T)serializer.ReadObject(ms);
                    ms.Close();
                }
                return obj;
            }
      

  9.   

    Newtonsoft这个命名控件在类中是引不到的,我说的类是三层中BUSSINESS中的类
    我的天啊, Newtonsoft是个第三方组件库,这点都没明白?
    还是把基础概念弄熟了在玩三层吧,别一心向着代码工人的方向发展了。
    我是在公司啊,我们的框架是技术支持组搭建的,是固定的,我们没权利引用第三方DLL的。
    额 误会了 ,如果是只需要那一个字段,自己写方法也行,没写过,对稳定性不好评估。
    还是用别人专门的处理类比较爽啊