转 【解决方案】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"
}
]
}
是不是很简单?
转自:https://blog.csdn.net/u013667796/article/details/83826592
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)