#c# #arrays #json #serialization #anonymous-types
#c# #массивы #json #сериализация #анонимные типы
Вопрос:
У меня есть анонимный объект JSON, и мне нужно добавить к нему список строк (параметр: ProductOptions). Мне нужно поместить их в JSON-массив без ключа. Как бы я это сделал с анонимными типами?
public static List<Product> getProductsByProductOptions(long salespartnerGroupID, string marktCode, long producttypeGroupID, long productvalueGroupID, long deviceGroupID, List<string> productOptions)
{
RestRequest request = newRestRequest("getProductsByProductOptions");
var jsonObj = new
{
input = new
{
spbgid = salespartnerGroupID,
code = marktCode,
producttypegid = producttypeGroupID,
productvaluegid = productvalueGroupID,
devicegid = deviceGroupID,
productOptions = new { item = productOptions }
},
};
IRestResponse response = GetResponseAndSerialize(jsonObj, request);
BaseProduct myDeserializedClass = JsonConvert.DeserializeObject<BaseProduct>(response.Content);
return myDeserializedClass.@return.item;
}
Мне нужно, чтобы JSON был таким:
"input": {
"spbgid": 3797,
"code": "xxx",
"producttypegid": 5239,
"productvaluegid": 0,
"devicegid": 4030,
"productOptions": {
"item": [
"SCREEN_PROTECTOR", "REPLACEMENT"
]
}
}
Комментарии:
1. Какой JSON выдает ваш код прямо сейчас?
Ответ №1:
Я не уверен, почему, но использование RestSharp.JsonSerializer вместо JsonConvert устранило проблему. Анонимный объект, по-видимому, работает просто отлично.