Abd*_*aan 5 c# elasticsearch .net-core asp.net-core-webapi
我有一个对象列表 as IEnumerable<IHit<Header>>,但 .NET Core 3.0 没有发出所有信息
这是当我返回列表的单个对象 IHit 时 obj.ElementAt(0)
{"explanation":null,"fields":null,"highlight":{},"id":"123","index":"ky","innerHits":{},"matchedQueries":[], "nested":null, "primaryTerm":null, "routing":null, "score":10.98915, "sequenceNumber":null, "sorts":[],"source":{"timeStamp":"2019-05 -16T06:16:07Z", "result":"PASS","testTimeStart":"20190516141559","testTimeEnd":"20190516141607","barcode":"XXRX8762"},"type":"_doc","版本":0}
但是当我返回列表本身时:
[{"explanation":null,"fields":null,"highlight":{},"innerHits":{},"matchedQueries":[],"nested":null,"score":10.98915,"sorts" :[]}]
也当我尝试明确调用 JsonSerializer
string s = JsonSerializer.Serialize(result, typeof(IEnumerable<IHit<Header>>), obj);
Run Code Online (Sandbox Code Playgroud)
总结:
的WebAPI工作正常,返回如果正确序列化对象劲儿对象:
public IHit<Header> Get(string id)
但是当一个列表时,则不是。
public IEnumerable<IHit<Header>> GetAll()
Run Code Online (Sandbox Code Playgroud)
我试过了IEnumerable, IList, List,结果都是一样的!
Abd*_*aan 17
我仍然不知道由于发出单个对象而不是列表的情况而面临的奇怪行为。
但这里如何根据@poke 的回答和@NeilMacMullen 的评论解决问题
Microsoft.AspNetCore.Mvc.NewtonsoftJson在 Startup.cs 中,添加
services.AddControllers().AddNewtonsoftJson();
小智 6
在.Net 6中添加属性[JsonIninclude]以使其序列化列表
例如
[JsonInclude]
public List<StaffEarningDetail> EarningDetails;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4061 次 |
| 最近记录: |