json字符串和对象之间的转换

[{
	"header": {
		"error": 0,
		"vs": "37439903"
	},
	"data": {
		"szxzsj": "1",
		"hszczsj": "1",
		"kcbjglz": [{
		  "flag_id": "mairu",
		  "info": "连续竞价阶段,若您输入的买入价格高于基准价格的102%,将被视为无效委托!"
		}, {
		  "flag_id": "maichu",
		  "info": "连续竞价阶段,若您输入的卖出价格低于基准价格的98%,将被视为无效委托!"
		}],
		"zbjglz": [{
		  "flag_id": "mairu",
		  "info": "连续竞价阶段,若您输入的买入价格高于基准价格的102%或10个最小变动单位,将被视为无效委托!"
		}, {
		  "flag_id": "maichu",
		  "info": "连续竞价阶段,若您输入的卖出价格低于基准价格的98%或10个最小变动单位,将被视为无效委托!"
		}],
		"hszbmrzt":{
		  "mrztzbz": "1.2",
		  "mrztzbd": "0.8"
		},
		"cybmrzt":{
		  "mrztzbz": "1.2",
		  "mrztzbd": "0.8"
		},
		"kcbmrzt":{
		  "mrztzbz": "1.2",
		  "mrztzbd": "0.8"
		},
		"fxmrzt":{
		  "mrztzbz": "1.05",
		  "mrztzbd": "0.95"
		},
		"smGrayscaleStage": {
				"8657": {
					"smGrayscaleStageValue": "3"
				},
				"8606": {
					"smGrayscaleStageValue": "2"
				},
				"8624": {
					"smGrayscaleStageValue": "3"
				},
				"8628": {
					"smGrayscaleStageValue": "3"
				},
				"8635": {
					"smGrayscaleStageValue": "2"
				},
				"8638": {
					"smGrayscaleStageValue": "3",
					"isShowDialog": "1",
					"hitProbability":"100",
					"hitSpecialRule":[]
				},
				"8646": {
					"smGrayscaleStageValue": "3"
				},
				"8642": {
					"smGrayscaleStageValue": "2"
				}
			},
		"hszczfxywsj": "1",
		"officialxzsj": "1"
	}
}]

将上面json串转换为c#中的对象,c#中有一个比较好用的json库Newtonsoft.Json,在vs2022中工具->NuGet包管理器中搜索安装该库即可。


using Newtonsoft.Json;
using System.Collections.Generic;

public class KcbjglzItem
{
    public string flag_id { get; set; }
    public string info { get; set; }
}

public class ZbjglzItem
{
    public string flag_id { get; set; }
    public string info { get; set; }
}

public class Hszbmrzt
{
    public string mrztzbz { get; set; }
    public string mrztzbd { get; set; }
}

public class Cybmrzt
{
    public string mrztzbz { get; set; }
    public string mrztzbd { get; set; }
}

public class Kcbmrzt
{
    public string mrztzbz { get; set; }
    public string mrztzbd { get; set; }
}

public class Fxmrzt
{
    public string mrztzbz { get; set; }
    public string mrztzbd { get; set; }
}

public class SmGrayscaleStage
{
    public string smGrayscaleStageValue { get; set; }
    public string isShowDialog { get; set; }
    public string hitProbability { get; set; }
    public List<object> hitSpecialRule { get; set; }
}

public class Data
{
    public string szxzsj { get; set; }
    public string hszczsj { get; set; }
    public List<KcbjglzItem> kcbjglz { get; set; }
    public List<ZbjglzItem> zbjglz { get; set; }
    public Hszbmrzt hszbmrzt { get; set; }
    public Cybmrzt cybmrzt { get; set; }
    public Kcbmrzt kcbmrzt { get; set; }
    public Fxmrzt fxmrzt { get; set; }
    public Dictionary<string, SmGrayscaleStage> smGrayscaleStage { get; set; }
    public string hszczfxywsj { get; set; }
    public string officialxzsj { get; set; }
}

public class Root
{
    public Header header { get; set; }
    public Data data { get; set; }
}

public class Header
{
    public int error { get; set; }
    public string vs { get; set; }
}

class Program
{
    static void Main()
    {
        string jsonString = "[{\n\t\"header\": {\n\t\t\"error\": 0,\n\t\t\"vs\": \"37439903\"\n\t},\n\t\"data\": {\n\t\t\"szxzsj\": \"1\",\n\t\t\"hszczsj\": \"1\",\n\t\t\"kcbjglz\": [{\n\t\t  \"flag_id\": \"mairu\",\n\t\t  \"info\": \"连续竞价阶段,若您输入的买入价格高于基准价格的102%,将被视为无效委托!\"\n\t\t}, {\n\t\t  \"flag_id\": \"maichu\",\n\t\t  \"info\": \"连续竞价阶段,若您输入的卖出价格低于基准价格的98%,将被视为无效委托!\"\n\t\t}],\n\t\t\"zbjglz\": [{\n\t\t  \"flag_id\": \"mairu\",\n\t\t  \"info\": \"连续竞价阶段,若您输入的买入价格高于基准价格的102%或10个最小变动单位,将被视为无效委托!\"\n\t\t}, {\n\t\t  \"flag_id\": \"maichu\",\n\t\t  \"info\": \"连续竞价阶段,若您输入的卖出价格低于基准价格的98%或10个最小变动单位,将被视为无效委托!\"\n\t\t}],\n\t\t\"hszbmrzt\":{\n\t\t  \"mrztzbz\": \"1.2\",\n\t\t  \"mrztzbd\": \"0.8\"\n\t\t},\n\t\t\"cybmrzt\":{\n\t\t  \"mrztzbz\": \"1.2\",\n\t\t  \"mrztzbd\": \"0.8\"\n\t\t},\n\t\t\"kcbmrzt\":{\n\t\t  \"mrztzbz\": \"1.2\",\n\t\t  \"mrztzbd\": \"0.8\"\n\t\t},\n\t\t\"fxmrzt\":{\n\t\t  \"mrztzbz\": \"1.05\",\n\t\t  \"mrztzbd\": \"0.95\"\n\t\t},\n\t\t\"smGrayscaleStage\": {\n\t\t\t\t\"8657\": {\n\t\t\t\t\t\"smGrayscaleStageValue\": \"3\"\n\t\t\t\t},\n\t\t\t\t\"8606\": {\n\t\t\t\t\t\"smGrayscaleStageValue\": \"2\"\n\t\t\t\t},\n\t\t\t\t\"8624\": {\n\t\t\t\t\t\"smGrayscaleStageValue\": \"3\"\n\t\t\t\t},\n\t\t\t\t\"8628\": {\n\t\t\t\t\t\"smGrayscaleStageValue\": \"3\"\n\t\t\t\t},\n\t\t\t\t\"8635\": {\n\t\t\t\t\t\"smGrayscaleStageValue\": \"2\"\n\t\t\t\t},\n\t\t\t\t\"8638\": {\n\t\t\t\t\t\"smGrayscaleStageValue\": \"3\",\n\t\t\t\t\t\"isShowDialog\": \"1\",\n\t\t\t\t\t\"hitProbability\":\"100\",\n\t\t\t\t\t\"hitSpecialRule\":[]\n\t\t\t\t},\n\t\t\t\t\"8646\": {\n\t\t\t\t\t\"smGrayscaleStageValue\": \"3\"\n\t\t\t\t},\n\t\t\t\t\"8642\": {\n\t\t\t\t\t\"smGrayscaleStageValue\": \"2\"\n\t\t\t\t}\n\t\t\t},\n\t\t\"hszczfxywsj\": \"1\",\n\t\t\"officialxzsj\": \"1\"\n\t}\n}]";
        List<Root> listData = JsonConvert.DeserializeObject<List<Root>>(jsonString);
    }  
}

使用DeserializeObject可以将json字符串反序列化为对象,SerializeObject可以将对象序列化为json字符串。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vegetablesssss

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值