C#后端json数据的解析
大家看上面这一段数据是不是似曾相识,没错,这就是百度翻译返回的Json,但当我们拿到这一串json字符串,怎么获取我们想要的数据呢,这就需要解析一下。
首先我们新建一个winform。
然后我们对winform进行布局。下面是我布局的样式
好,话不多说,上代码。
{“from”:“zh”,“to”:“kor”,“trans_result”:[{“src”:"\u4f60\u597d",“dst”:"\uc548\ub155\ud558\uc138\uc694."}]}
我们再观察一下这段json,一般一段数据的传输,json格式是不变的,所以我们根据这段json代码生成实体类,这里再推荐一下这个网站链接: https://www.bejson.com/convert/json2csharp/.,将json数据转换为实体类。
public class Trans_resultItem
{
/// <summary>
/// 你好
/// </summary>
public string src { get; set; }
/// <summary>
///
/// </summary>
public string dst { get; set; }
}
public class Root
{
/// <summary>
///
/// </summary>
public string @from { get; set; }
/// <summary>
///
/// </summary>
public string to { get; set; }
/// <summary>
///
/// </summary>
public List<Trans_resultItem> trans_result { get; set; }
}
然后我们在button1的点击事件写入以下代码
private void button1_Click(object sender, EventArgs e)
{
string retString = textBox1.Text;
Root rt = JsonConvert.DeserializeObject<Root>(retString);
//由于这个JSON字符串的 public List<DataItem> data 是一个集合,所以我们需要遍历集合里面的所有数据
for (int i = 0; i < rt.trans_result.Count; i++)
{
textBox2.Text = rt.trans_result[i].dst;
}
}
我们发现了一个问题,JsonConvert这个函数标红了,我们这时需要引入一个包,newtonsoft.json,我们只需通过vs自带的nuget安装就行了。
install-package newtonsoft.json
安装成功后,这时我们 using Newtonsoft.Json; 就行了
然后测试一下,小伙伴们学会了吗