[英]Json forming using c#
嗨,我的json结构是这样的
{
"OutputParam": [
{
"param1": "John",
"param2": "Doe",
"param3": "BT",
"param4": [
{
"subparam1": "00002",
"subparam2": "True",
"subparam3": "-",
"subparam4": "-",
"subparam5": "data goes here"
},
{
"subparam1": "00003",
"subparam2": "True",
"subparam3": "-",
"subparam4": "-",
"subparam5": "data goes here"
},
{
"subparam1": "00004",
"subparam2": "False",
"subparam3": "111",
"subparam4": "message",
"subparam5": "-"
}
]
}
]
}
我从http://json2csharp.com/获得的类如下
public class Param4
{
public string subparam1 { get; set; }
public string subparam2 { get; set; }
public string subparam3 { get; set; }
public string subparam4 { get; set; }
public string subparam5 { get; set; }
}
public class OutputParam
{
public string param1 { get; set; }
public string param2 { get; set; }
public string param3 { get; set; }
public List<Param4> param4 { get; set; }
}
public class RootObject
{
public List<OutputParam> OutputParam { get; set; }
}
现在的问题是我想通过Json作为c#API中的API输出,我尝试了list和var,但是到目前为止还不能返回上面提到的Json,请问有没有人可以帮忙或者至少可以给我一个方向?
如果您想按照示例使用Web API返回,请使用以下方法
public RootObject GetRootObject()
{
return new RootObject();
}
会做到这一点,假设在内容协商中向API发出的请求要求提供JSON-网络api会自动神奇地将您的对象反序列化为JSON
这是可以帮助您的小段代码示例
public RootObject1 Get(int id)
{
RootObject1 rt = new RootObject1();
OutputParam pr = new OutputParam();
Param4 cr = new Param4();
rt.OutputParam = new List<OutputParam>();
pr.Param4= new List<Param4>();
pr.Param1= "AB";
rt.OutputParam = new List<OutputParam>();
cr.Param6 = "aceee";
pr.Param4.Add(cr);
rt.OutputParam.Add(pr);
return rt;
}
您的Web服务C#会返回一个XML,而您的JSON为字符串输入? 这是默认值
所以你有不同的选择
去xml或将此行添加到您的方法中
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.