c# - Asp.Net Core 2.1 返回的带有 Json 的 C# SimpleJson
问题描述
我有一个从名为 DataSet 的类返回的 Asp.Net Core 2.1 API。我该怎么做才能让 SimpleJson 解码 json 数据。谢谢你。
var response = restClient.Execute(request);
var ret = response.Content;
DataSet mydata = SimpleJson.SimpleJson.Deserialize<DataSet>(ret);
mydata 始终为空。
// This is json data returned by server
{"prime":"Af//////////////////////////////////////////////////////////////////////////////////////",
"a":"Af/////////////////////////////////////////////////////////////////////////////////////8",
"b":"AFGVPrlhjhyaH5KaIaC2hUDuotpyW5mzFfO4tImRjvEJ4VYZOVHsfpN7FlLAvTuxvwc1c9+IPSw08e9FH9RrUD8A"}
public class DataSet
{
public byte[] prime {get;set;}
public byte[] a {get;set;}
public byte[] b {get;set;}
}
解决方案
使用 Newtonsoft JSON,您可以非常轻松地执行以下操作:
using System;
using Newtonsoft.Json;
public class Program
{
public static void Main()
{
Console.WriteLine("Hello World");
var jsonString = @"{'prime':'Af//////////////////////////////////////////////////////////////////////////////////////',
'a':'Af/////////////////////////////////////////////////////////////////////////////////////8',
'b':'AFGVPrlhjhyaH5KaIaC2hUDuotpyW5mzFfO4tImRjvEJ4VYZOVHsfpN7FlLAvTuxvwc1c9+IPSw08e9FH9RrUD8A'}";
var dataSet = JsonConvert.DeserializeObject<DataSet>(jsonString);
Console.WriteLine(System.Text.Encoding.UTF8.GetString(dataSet.prime));
Console.WriteLine(System.Text.Encoding.UTF8.GetString(dataSet.a));
Console.WriteLine(System.Text.Encoding.UTF8.GetString(dataSet.b));
}
}
public class DataSet
{
public byte[] prime {get;set;}
public byte[] a {get;set;}
public byte[] b {get;set;}
}
不确定您要编码什么,但我猜它是 UTF-8 中的东西?
推荐阅读
- asp.net - 如何在 Visual Studio 解决方案中使用 2 个 Web API 项目进行调试?
- ubuntu - Vagrant ssh 使用 ubuntu 默认用户
- python - 计算符合特定条件的连续几天的时间序列
- powershell - PowerShell:向 Get-WmiObject 添加过滤器或查询
- java - 循环和排序类中的对象
- bash - 在 bigquery 上使用存储在 gcs 中的 sql 脚本
- android - Flutter:如何在代码中的每个列表项之间添加分隔符?
- barcode - 构建扫描条形码并将信息发送到谷歌表的应用程序
- c# - C# Wpf DataGrid 复制使应用程序进入中断模式
- c# - 如何检查表格是否包含所选数字?