Превратить array на c# в object json

99
15 июня 2021, 12:30

Есть такой json object:

     \"estimated_value\": {
    \"amount\": 123.3,
    \"currency\": \"EUR\"
  },

Если сделать так:

 Dictionary<string, string> amount = new Dictionary<string, string>();
        amount.Add("amount", price);
        Dictionary<string, string> currency = new Dictionary<string, string>();
        currency.Add("currency", letter.Currency);
        List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
        list.Add(amount);
        list.Add(currency);
        dict.Add("estimated_value", list);
string postData = JsonConvert.SerializeObject(dict);

То получится массив с квадратными скобками, а мне это не нужно. Нужно

string => 2 object

Но без массива

Answer 1

Что за бред вы понаписали?

В заголовке: "Превратить array на c# в object json".
В сообщении: "То получится массив с квадратными скобками, а мне это не нужно".

Из массива в C# естественно получается массив в json. Если вам не нужен массив, то не создавайте его. Элементарно, Ватсон!
На заметку: List<T> - считай, тот же массив.

Вам бы для начала выучить, что такое JSON.
Тот огрызок данных, что вы поместили в начале, не является json - он не валидный.

Но вообще, там просматривается следующая структура: объект, имеющий свойство estimated_value, которое само является объектом с двумя свойствами: amount, currency.
Заметьте: объекты и свойства! Никаких массивов.

Ну и создавайте объекты со свойствами. Можно анонимные объекты.

decimal price = 123.3M;
string letterCurrency = "EUR";
var obj = new
{
    estimated_value = new
    {
        amount = price,
        currency = letterCurrency
    }
};

string postData = JsonConvert.SerializeObject(obj);
Console.WriteLine(postData);

И ещё напутствие: вы пишете на C# - языке со статической типизацией (хотя и динамическая в нём присутствует). В нём принято явно описывать используемые структуры данных. Поэтому создайте неоходимый класс (или классы). Кода для их описания нужно совсем немного. Всяко меньше, чем вы понаписали с Dictionary. А далее IDE будет вам выдавать удобные подсказки при использовании этих классов.

READ ALSO
Не могу настроить Sphinx под MySql

Не могу настроить Sphinx под MySql

Устанавливал и настраивал по этой инструкции https://vkcom/away

94
PDO метод execute() не работает, и ошибок не выдает

PDO метод execute() не работает, и ошибок не выдает

Всем привет, хехВообщем если не трудно подскажите в чем может быть проблема, метод execute ничего не сохраняет в БД не выдаёт ошибок и возвращает...

104
Видимость iframe&#39;а

Видимость iframe'а

Я создал приложение типа vk mini-apps, вставил туда фрейм, как положено

112