C# json 字符串 处理
时间: 2023-09-04 09:12:26 浏览: 170
你可以使用 C# 中的 Newtonsoft.Json 库来处理 JSON 字符串。下面是一些常见的操作示例:
1. 将 JSON 字符串转换为对象:
```csharp
string jsonString = "{\"name\":\"John\",\"age\":30}";
var obj = JsonConvert.DeserializeObject(jsonString);
```
2. 将对象转换为 JSON 字符串:
```csharp
var obj = new { name = "John", age = 30 };
string jsonString = JsonConvert.SerializeObject(obj);
```
3. 访问 JSON 对象的属性:
```csharp
dynamic obj = JObject.Parse(jsonString);
string name = obj.name;
int age = obj.age;
```
4. 访问 JSON 数组的元素:
```csharp
dynamic obj = JArray.Parse(jsonString);
string firstElement = obj[0].ToString();
```
这些只是基础操作,你还可以进行更复杂的操作,如嵌套对象、数组等。详细的使用方法可以参考 Newtonsoft.Json 库的文档。
相关问题
C# json字符串转匿名json对象
在C#中,可以使用Newtonsoft.Json库来进行JSON字符串与匿名JSON对象之间的转换。下面是一个简单的示例代码:
```csharp
using Newtonsoft.Json;
using System;
class Program
{
static void Main()
{
// JSON字符串
string jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
// 将JSON字符串转换为匿名JSON对象
var jsonObject = JsonConvert.DeserializeAnonymousType(jsonString, new { name = "", age = 0, city = "" });
// 输出匿名JSON对象的属性值
Console.WriteLine("Name: " + jsonObject.name);
Console.WriteLine("Age: " + jsonObject.age);
Console.WriteLine("City: " + jsonObject.city);
// 相关问题:
// 1. 如何将JSON字符串转换为具体的类对象?
// 2. 除了Newtonsoft.Json,还有其他的JSON库可以使用吗?
// 3. 如何将匿名JSON对象转换为JSON字符串?
}
}
```
上述代码中,使用`JsonConvert.DeserializeAnonymousType`方法将JSON字符串转换为匿名JSON对象。在`DeserializeAnonymousType`方法的第二个参数中,通过定义一个匿名类型来指定JSON对象的结构。然后可以通过访问匿名JSON对象的属性来获取对应的值。
请注意,这里使用的是Newtonsoft.Json库,它是一个常用的处理JSON的库,可以通过NuGet包管理器安装。
C#json字符串转base64编码
以下是C#中将JSON字符串转换为Base64编码的示例代码:
```csharp
using System;
using System.Text;
using System.Web.Script.Serialization;
namespace JsonToBase64
{
class Program
{
static void Main(string[] args)
{
var json = new { name = "宋", age = 11, sex = "男" };
var serializer = new JavaScriptSerializer(); var jsonStr = serializer.Serialize(json);
var bytes = Encoding.UTF8.GetBytes(jsonStr);
var base64 = Convert.ToBase64String(bytes);
Console.WriteLine(base64);
}
}
}
```
在上面的代码中,我们使用JavaScriptSerializer将一个对象序列化为JSON字符串,然后将JSON字符串转换为UTF8编码的字节数组,最后使用Convert.ToBase64String方法将字节数组转换为Base64编码的字符串。运行上述代码,输出结果为:
```
eyJhZ2UiOjExLCJuYW1lIjoi5a6LIn0=
```
阅读全文