我正在使用此方法来形成json字符串,这工作正常.但如果它包含更多属性,我无法处理.还有比这更好的方法吗?
string.Format("{0}{1}longUrl{1}:{1}{2}{1}{3}", "{", "\"", longUrl,"}");
Run Code Online (Sandbox Code Playgroud)
输出是
{"longUrl":"http://api.themoviedb.org/3/person/12835?api_key=2c50a994de5291887a4e062edd229a72"}
Run Code Online (Sandbox Code Playgroud)
Sim*_*ger 13
那么,"更好"的方法是使用Json库.如果这是在Asp.Net网站的上下文中(在后面的版本中),则会自动引用Json.Net库.如果没有,您可以使用Nuget添加对项目的引用或手动添加它,无论您喜欢哪个.然后你可以这样做:
JsonConvert.SerializeObject(new { longUrl = longUrl });
Run Code Online (Sandbox Code Playgroud)
请注意,您也可以使用new { longUrl },属性名称将与您的变量名称相同.
您可以使用JSON.Net库.您可以创建一个要转换为JSON的实体类,而不是使用字符串格式化程序.
例如
public class Account
{
public string Email { get; set; }
public bool Active { get; set; }
public DateTime CreatedDate { get; set; }
public IList<string> Roles { get; set; }
}
Account account = new Account
{
Email = "james@example.com",
Active = true,
CreatedDate = new DateTime(2013, 1, 20, 0, 0, 0, DateTimeKind.Utc),
Roles = new List<string>
{
"User",
"Admin"
}
};
string json = JsonConvert.SerializeObject(account, Formatting.Indented);
Console.WriteLine(json);
Run Code Online (Sandbox Code Playgroud)
// {
// "Email": "james@example.com",
// "Active": true,
// "CreatedDate": "2013-01-20T00:00:00Z",
// "Roles": [
// "User",
// "Admin"
// ]
// }
Run Code Online (Sandbox Code Playgroud)
您可以只使用 JSON 序列化程序,例如JSON.NET。否则,您可以稍微简化一下:
string.Format(@"{{""longUrl"":""{0}""}}", longUrl);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45318 次 |
| 最近记录: |