json格式:我们常见的josn格式数据字符串有一般都是一对大括号({}),或者两对大括号的。下面就这2种常见的json格式的数据介绍一些对json格式的操作。
先了解下,我说的2种json格式:
第一种格式有一对大括号的:{
\"code\":\"200\",
\"msg\":\"支付宝预下单成功\",
\"body\":
{
\"jobId\":\"20180906050141424500011624\",
\"payUrl\":\"https://qr.ki/bax05439y7dkunnvqagki\",
\"payFlowNumber\":\"20180906050141424500011624\"
}
}
想必大家也都熟悉上面的两种json格式的数据,一对大括号的比较好处理,我就说下第二种格式的json数据字符串处理。第一步:在C#中,想要对json格式的字符串进行处理,一定要先下载NuGet包
第二步:进行下载并安装NuGet包
第三步:进行using引用:
第四步:开始写代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace josn序列化
{
class Program
{
static void Main(string[] args)
{
string strJosn = "{\"code\":\"200\",\"msg\":\"支付宝预下单成功\",\"body\":{\"jobId\":\"20180906050141424500011624\",\"payUrl\":\"https://qr.ki/bax05439y7dkunnvqagki\",\"payFlowNumber\":\"20180906050141424500011624\"}}";
JObject obj = (JObject)JsonConvert.DeserializeObject(strJosn);
string body = obj["body"].ToString();
Console.WriteLine("把整个字符串进行序列化:");
Console.WriteLine(obj);
JObject bodyContent = (JObject)JsonConvert.DeserializeObject(body);
Console.WriteLine("把body里的数据进行序列化:");
Console.WriteLine(bodyContent);
Pay pCode = new Pay();
pCode.code = obj["code"].ToString();
pCode.jobId = bodyContent["jobId"].ToString();
Console.WriteLine("拿到josn里的Code值"+pCode.code);
Console.Write("拿到body里的jobId"+pCode.jobId);
Console.Read();
}
}
}
展示效果:当然在Net中微软也给我们提供了进行对象序列化和反序列化的方法:
//进行对象序列化:
string json= JsonConvert.SerializeObject("你要序列化的对象");
//进行对象反序列化
string p = JsonConvert.DeserializeObject("需要反序列化的字符串");