用C#,我有一个JISON串和值,现在怎么把值从这个JISON值中取出来呢?c# 反序列化 怎么样把值从JISON串中取出来呢?

用C#,我有一个JISON串和值,现在怎么把值从这个JISON值中取出来呢?c# 反序列化 怎么样把值从JISON串中取出来呢?

var returnCitySN = {"cip": "125.66.194.200", "cid": "510400", "cname": "四川省攀枝花市"};

用Newtonsoft.Json反序列化就行,不想建立实体类,可以用匿名对象,示例如下

img

using System;
using Newtonsoft.Json;
namespace ConsoleApp3
{

    class Program
    {
        static void Main(string[] args)
        {
            var returnCitySN = "{ \"cip\": \"125.66.194.200\", \"cid\": \"510400\", \"cname\": \"四川省攀枝花市\"}";
            var obj = new { cip = string.Empty, cid = string.Empty, cname = string.Empty };
            var o = JsonConvert.DeserializeAnonymousType(returnCitySN, obj);
            Console.WriteLine(o.cip);
            Console.WriteLine(o.cid);
            Console.WriteLine(o.cname);


            Console.ReadKey();
        }
    }

}

img

returnCitySN.cip

returnCitySN.cid

returnCitySN.cname

还是使用Newtonsoft.Json来反序列化,示例如下:

using System;
using Newtonsoft.Json;

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            var returnCitySN = "{\"cip\": \"125.66.194.200\", \"cid\": \"510400\", \"cname\": \"四川省攀枝花市\"}";
            var city = JsonConvert.DeserializeObject<City>(returnCitySN);
            Console.WriteLine(city.cid);
            Console.WriteLine(city.cip);
            Console.WriteLine(city.cname);
        }
    }
    
    public class City
    {
        public string cip { get; set; }
        public string cid { get; set; }
        public string cname { get; set; }
    }
}

运行结果:

510400
125.66.194.200
四川省攀枝花市

            var obj = new { cip = "", cid = "", cname = "" };
            var o = Newtonsoft.Json.JsonConvert.DeserializeObject<obj>(returnCitySN);
            Console.WriteLine(o.cip);
            Console.WriteLine(o.cid);
            Console.WriteLine(o.cname);