【解决方案】C#中使用Newtonsoft创建JSON字符串

在很多涉及到网络通讯的地方,往往会用到JSON,初次接触这个东西,真的很令人头痛。不过有了Newtonsoft,这一切就变得出奇地简单:

1、创建一个JSON

String apiClass = "apiClass";
String apiCommand = "apiCommand";
String apiJsonParam = "apiJsonParam";

JObject postedJObject = new JObject();
postedJObject.Add("class", apiClass);
postedJObject.Add("cmd", apiCommand);
postedJObject.Add("param", apiJsonParam);
String paramString = postedJObject.ToString(Newtonsoft.Json.Formatting.None, null);

是不是很简单?
那么paramString 的结果是什么呢?

{"class":"apiClass","cmd":"apiCommand","param":"apiJsonParam"}

格式化一下

{
	"class": "apiClass",
	"cmd": "apiCommand",
	"param": "apiJsonParam"
}

2、再创建一个嵌套的

String apiClass = "apiClass";
String apiCommand = "apiCommand";

JObject postedJObject = new JObject();
postedJObject.Add("class", apiClass);
postedJObject.Add("cmd", apiCommand);

String param1 = "param1";
String param2 = "param2";
JObject apiJsonParam = new JObject();
apiJsonParam.Add("param1", param1);
apiJsonParam.Add("param2", param2);

postedJObject.Add("param", apiJsonParam);
String paramString = postedJObject.ToString(Newtonsoft.Json.Formatting.None, null);

格式化的字符串呢?

{
  "class": "apiClass",
  "cmd": "apiCommand",
  "param": {
    "param1": "param1",
    "param2": "param2"
  }
}

3、再来一个添加了数组的

String apiClass = "apiClass";
String apiCommand = "apiCommand";

JObject postedJObject = new JObject();
postedJObject.Add("class", apiClass);
postedJObject.Add("cmd", apiCommand);

String param1 = "param1";
String param2 = "param2";
JObject apiJsonParam = new JObject();
apiJsonParam.Add("param1", param1);
apiJsonParam.Add("param2", param2);

postedJObject.Add("param", apiJsonParam);

JArray jArray = new JArray();

JObject arr1 = new JObject();
arr1.Add("arr1", "this is arr1");
jArray.Add(arr1);

JObject arr2 = new JObject();
arr2.Add("arr2", "this is arr2");
jArray.Add(arr2);

postedJObject.Add("jarray", jArray);
String paramString = postedJObject.ToString(Newtonsoft.Json.Formatting.Indented, null);

那么JSON字符串又是怎么样呢?

{
  "class": "apiClass",
  "cmd": "apiCommand",
  "param": {
    "param1": "param1",
    "param2": "param2"
  },
  "jarray": [
    {
      "arr1": "this is arr1"
    },
    {
      "arr2": "this is arr2"
    }
  ]
}

是不是很简单?

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

赵庆明老师

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

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

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

打赏作者

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

抵扣说明:

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

余额充值