首页 > 编程语言 >c#中string字符串转为json对象

c#中string字符串转为json对象

时间:2023-10-20 15:33:53浏览次数:28  
标签:Name c# Price json new 序列化 string

string转json

//字符串转json
public static void strJson()
{
string jsonText = "{"shenzheng":"深圳","beijing":"北京","shanghai":[{"zj1":"zj11","zj2":"zj22"},"zjs"]}";

JObject jo = (JObject)JsonConvert.DeserializeObject(jsonText);//或者JObject jo = JObject.Parse(jsonText);
string zone = jo["shenzheng"].ToString();//输出 "深圳"
string zone_en = jo["shanghai"].ToString();//输出 "[{"zj1":"zj11","zj2":"zj22"},"zjs"]"
string zj1 = jo["shanghai"][1].ToString();//输出 "zjs"
Console.WriteLine(jo);
}

对象与数组转JSON

//对象与数组转JSON
    public static void GetJsonString()
    {
        //初始化对象
        Obj product = new Obj() { Name = "苹果", Price = 5.5 };
        //序列化
        string o = new JavaScriptSerializer().Serialize(product);//值:"{\"Name\":\"苹果\",\"Price\":5.5}"

        //数组转json
        List<Obj> products = new List<Obj>(){
        new Obj(){Name="苹果",Price=5.5},
        new Obj(){Name="橘子",Price=2.5},
        new Obj(){Name="干柿子",Price=16.00}
        };

        ProductList productlist = new ProductList();
        productlist.GetProducts = products;
        //序列化
        string os = new JavaScriptSerializer().Serialize(productlist);
        //输出 "{\"GetProducts\":[{\"Name\":\"苹果\",\"Price\":5.5},{\"Name\":\"橘子\",\"Price\":2.5},{\"Name\":\"干柿子\",\"Price\":16}]}"
    }

json转对象、数组, 反序列化

//json转对象、数组, 反序列化
    public static void JSONStringToList()
    {

        //json格式字符串
        string JsonStr = "{Name:'苹果',Price:5.5}";
        JavaScriptSerializer Serializer = new JavaScriptSerializer();

        //json字符串转为对象, 反序列化
        Obj obj = Serializer.Deserialize<Obj>(JsonStr);
            Console.Write(obj.Name + ":" + obj.Price + "\r\n");

        //json格式字符串
        string JsonStrs = "[{Name:'苹果',Price:5.5},{Name:'橘子',Price:2.5},{Name:'柿子',Price:16}]";

        JavaScriptSerializer Serializers = new JavaScriptSerializer();

        //json字符串转为数组对象, 反序列化
        List<Obj> objs = Serializers.Deserialize<List<Obj>>(JsonStrs);

        foreach (var item in objs)
        {
           Console.Write(item.Name + ":" + item.Price + "\r\n");
        }
    }

标签:Name,c#,Price,json,new,序列化,string
From: https://www.cnblogs.com/newjersey/p/17777221.html

相关文章

  • cuda visual studio integration vs2017安装失败
    版本不匹配?还是之前安装了旧的nvidia程序?参考1:https://zhuanlan.zhihu.com/p/150579521?utm_id=0()参考2:https://blog.csdn.net/qq_40963335/article/details/104907922(有用)删除任何已安装的nvidia相关程序包。再安装cuda就不报错了。 (以下信息仅适用于NsightVisualStudio功......
  • slice简介
    简介Go语言中的切片(slice)是一种灵活的数据结构,它构建在数组之上并提供了方便的方式来操作数组的一部分。切片的底层实现涉及到数组和一些元数据。以下是Golang切片的底层实现的详细介绍:底层数组(UnderlyingArray):切片是建立在一个底层数组之上的。这个数组通常比切片的容量大......
  • Anaconda 安装py 第三方包
    命令行安装方法  打开  AnacondaPrompt     输入 condaactivate  环境名   激活环境 输入 pipinstall 包名    ......
  • CSS水平垂直居中
    使用flex布局<divclass="content"> <divclass="box"> </div></div>.content{height:100vh;display:flex;justify-content:center;align-items:center;}【注意】若垂直居中失效,是因为content盒子缺少高度,height:100%无法撑开盒子......
  • Maven中的dependencyManagement 详解
    1.作用:在Maven中dependencyManagement的作用其实相当于一个对所依赖jar包进行版本管理的管理器。2.pom.xml文件中,jar的版本判断的两种途径:(1)如果dependencies里的dependency自己没有声明version元素,那么maven就会到dependencyManagement里面去找有没有对该artifactId和groupI......
  • keycloak~Googl的reCAPTCHA验证
    reCAPTCHA是Google公司推出的一项验证服务,使用十分方便快捷,在国外许多网站上均有使用。它与许多其他的人机验证方式不同,它极少需要用户进行各种识图验证。它的使用方式如下如所示,只需勾选复选框即可通过人机验证。虽然简单但效果很好,因为Google会收集一些浏览器信息,网络信息,鼠......
  • [Leetcode] 0070. 爬楼梯
    70.爬楼梯题目描述假设你正在爬楼梯。需要n 阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例1:输入:n=2输出:2解释:有两种方法可以爬到楼顶。1.1阶+1阶2.2阶示例2:输入:n=3输出:3解释:有三种方法可以爬到楼顶。1......
  • esp32 factory+双OTA分区
    #Name,Type,SubType,Offset,Size,Flags#Note:ifyouhaveincreasedthebootloadersize,makesuretoupdatetheoffsetstoavoidoverlap,,,,nvs,data,nvs,0x4000,otadata,data,ota,0x4000,phy_init,data,phy,0x1000,factory,......
  • Python高频面试题——如何在字符串中删除指定字符,掌握strip()、replace()和re.sub ()
    关于python删除字符串是面试python测试开发工程师的一个经典问题。问题很简单,但是一下子就能测试出来被面试者是否能够熟练的进行python相关编码工作!对于有些临时抱佛脚的同学来讲,一看删除,很自然就说用remove、del相关方法,听到这里,就知道面试者根本不知道这个答案啦!因为对于这个问......
  • 问题(小程序):Uncaught (in promise) thirdScriptError {"errMsg":"redirectTo:fail can
    这个是跳转出现了问题,点击之后跳转不过去。解决办法:换一种跳转方式。方式一:wx.redirectTo:关闭当前所在页面,再跳转到指定的非TabBar页面。不受页面层数限制。方式二:wx.navigateTo:不关闭当前所在页面,跳转到指定的非TabBar页面,注意页面路径限制是五层。方式三:wx.switchTab:只可以......