提问人:Wasyster 提问时间:9/24/2022 最后编辑:Peter CsalaWasyster 更新时间:9/24/2022 访问量:38
JsonResult 对象到 JObject
JsonResult object to JObject
问:
我发现了一个问题,我感兴趣的是从对象 a 创建的最佳解决方案是什么。是这样创建的:JsonResult
JObject
JsonResult
Json(new
{
productId,
gtin,
mpn,
sku,
price,
basepricepangv,
stockAvailability,
enabledattributemappingids = enabledAttributeMappingIds.ToArray(),
disabledattributemappingids = disabledAttributeMappingIds.ToArray(),
pictureFullSizeUrl,
pictureDefaultSizeUrl,
isFreeShipping,
message = errors.Any() ? errors.ToArray() : null
});
它的值在字符串表示中如下所示:
var jsonResult = "{ productId = 1, gtin = null, mpn = null, sku = null, price = \"$25.00\", basepricepangv = null, stockAvailability = \"\", enabledattributemappingids = {int[0]}, disabledattributemappingids = {int[0]} }";
我需要更改这个,,json中的一些属性,,. 因为它不是有效的json字符串,所以我无法反序列化它。 是否有任何内置库或其他解决方案可以执行此操作。 THNX的
答:
0赞
Wasyster
9/24/2022
#1
private static readonly JsonSerializerSettings defaultSettings = new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore,
TypeNameHandling = TypeNameHandling.None,
ContractResolver = new DefaultContractResolver(),
DateFormatHandling = DateFormatHandling.IsoDateFormat,
DateFormatString = @"yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK",
};
public static string ToJson(this object o) =>
o != null ? JsonConvert.SerializeObject(o, defaultSettings) : null;
评论
0赞
Peter Csala
9/24/2022
您能提供一些解释吗?
0赞
Serge
9/24/2022
#2
若要获取有效的 JSON,您需要
var json = JsonConvert.SerializeObject(new
{
productId,
gtin,
mpn,
sku,
price,
basepricepangv,
stockAvailability,
enabledattributemappingids = enabledAttributeMappingIds.ToArray(),
disabledattributemappingids = disabledAttributeMappingIds.ToArray(),
pictureFullSizeUrl,
pictureDefaultSizeUrl,
isFreeShipping,
message = errors.Any() ? errors.ToArray() : null
});
return new JsonResult(json);
评论