【解決方案】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"
    }
  ]
}

是不是很簡單?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章