求以下无KEY的JSON数据反序列化
数据如下:
{
"code": 200,
"status": "OK",
"result": "{\"0130513113839835855\":{\"PassengerID\":\"3f4124f7-e68d-400a-823f-f9eb506856a7\",\"PassengerName\":\"吉吉\",\"TicketNumber\":\"\"}}"
}我在做的时候,不知道对"0130513113839835855\" 怎么处理了 json 行业数据 C# asp.net
[解决办法]
{
"code": 200,
"status": "OK",
"result": "{\"0130513113839835855\":{\"PassengerID\":\"3f4124f7-e68d-400a-823f-f9eb506856a7\",\"PassengerName\":\"吉吉\",\"TicketNumber\":\"\"}}"
}
result=
{
"0130513113839835855":{"PassengerID":"3f4124f7-e68d-400a-823f-f9eb506856a7","PassengerName":"吉吉","TicketNumber":""}
}result结果又是一个序列而已
[解决办法]
用你的数据写了一个demo
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Dynamic;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var s = @"
{
""code"": 200,
""status"": ""OK"",
""result"": ""{\""0130513113839835855\"":{\""PassengerID\"":\""3f4124f7-e68d-400a-823f-f9eb506856a7\"",\""PassengerName\"":\""吉吉\"",\""TicketNumber\"":\""\""}}""
}";
dynamic a = JsonConvert.DeserializeObject<ExpandoObject>(s);
dynamic b = JsonConvert.DeserializeObject<ExpandoObject>(a.result);
var d = (IDictionary<string, object>)b;
Console.WriteLine("a.status={0}", a.status);
dynamic c= d["0130513113839835855"];
Console.WriteLine("b.0130513113839835855.PassengerName={0}",c.PassengerName);
Console.ReadLine();
}
}
}
[解决办法]
public class Passenger
{
public string PassengerID { set; get; }
public string PassengerName { set; get; }
public string TicketNumber { set; get; }
}
public class a
{
public int code { set; get; }
public string status { set; get; }
public string result { set; get; }
}
string json = @"
{
""code"": 200,
""status"": ""OK"",
""result"": ""{\""0130513113839835855\"":{\""PassengerID\"":\""3f4124f7-e68d-400a-823f-f9eb506856a7\"",\""PassengerName\"":\""吉吉\"",\""TicketNumber\"":\""\""}}""
}";
var info= JsonConvert.DeserializeObject<a>(json);
var passenger = JsonConvert.DeserializeObject<Dictionary<string, Passenger>>(info.result);
var PassengerName = passenger.First().Value.PassengerName;
我自己测试没问题