在C#中将字符串转换为json数组

use*_*575 0 .net c# json visual-studio-2010

我是C#的新手.我想将两个字符串转换为单个JSON数组.
我尝试了以下方法:

var username = "username";
var password = "XXXXXXXX";
var json_data = "result":[{"username":username,"password":password}]'; //To convert the string to Json array i tried like this
MessageBox.Show(json_data);
Run Code Online (Sandbox Code Playgroud)

它无法正常工作,我遇到了很多错误.

我通过以下链接:

http://json.codeplex.com/

将字符串转换为Json数组

http://www.codeproject.com/Articles/272335/JSON-Serialization-and-Deserialization-in-ASP-NET

将字符串转换为json

要了解如何将我的字符串转换为Json数组.在上面的url中解释得很好,但对于我的情况我不知道如何将这两个字符串转换为单个Json数组.

我希望输出像这种格式,

[{"result":{"username":"Tom","password":"XXXXXXX"}}]
Run Code Online (Sandbox Code Playgroud)

请帮我这样做.

byt*_*ire 5

您可以使用JSON序列化程序API.一个常用的是来自Newtonsoft的,称为Json.NET.

这种API的工作是将C#对象转换为JSON(也称为序列化)并将JSON数据转换为C#对象(反序列化).

在您的示例中,可以按如下方式使用Newtonsoft JSON API.

public class UserData { public string username; public string password; }

var userData = new UserData() { username = "Tom", password = "XXXXXXXX" };

UserData[] arr = new UserData[] { userData };

string json_data = JsonConvert.SerializeObject(arr); // this is the Newtonsoft API method

// json_data will contain properly formatted Json. Something like [{"result":{"username":"Tom","password":"XXXXXXX"}}] 

MessageBox.Show(json_data); 
Run Code Online (Sandbox Code Playgroud)

请原谅我打字,因为我是通过电话做的.