110,915
社区成员
发帖
与我相关
我的任务
分享
webapi 接口调用,参数不一样但是共同调用同一个接口
参数:第一种
{
"Parameter": "ProductInfo",
"Data":
[
{
"Code":"001",
"Desc":"设备",
},
{
"Code":"002",
"Desc":"机器",
}
]
}
第二种
{
"Parameter": "ProductInfo",
"Data":
[
{
"Order":"25Q9",
"ID":"1",
},
{
"Order":"25Q10",
"ID":"2",
}
]
}
传递参数的类应该怎么定义呢 才能接收任何类型的值
泛型,意味着类型不可预料,这在转换时是做不到的。
换个思路就可以了。
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
namespace ConsoleApp8
{
class Program
{
static void Main(string[] args)
{
string json1 =
@"{
""Parameter"": ""ProductInfo"",
""Data"": [{
""Code"": ""001"",
""Desc"": ""设备""
}, {
""Code"": ""002"",
""Desc"": ""机器""
}]
}";
string json2 =
@"{
""Parameter"": ""ProductInfo"",
""Data"": [{
""Order"": ""25Q9"",
""ID"": ""1""
}, {
""Order"": ""25Q10"",
""ID"": ""2""
}]
}";
var r1 = JsonConvert.DeserializeObject<R>(json1);
var r2 = JsonConvert.DeserializeObject<R>(json2);
if (r1 != null)
{
Console.WriteLine("json1反序列化成功");
Console.WriteLine(JsonConvert.SerializeObject(r1));
}
if (r2 != null)
{
Console.WriteLine("json2反序列化成功");
Console.WriteLine(JsonConvert.SerializeObject(r2));
}
Console.Read();
}
}
public class R
{
public string Parameter { get; set; }
public List<Dictionary<string,string>> Data { get; set; }
}
}