Нужно ли конвертировать его в JSON?
Технически то, что вы разместили здесь , это JSON.JSON - это просто J ava S cript O bject, сериализованный в строку (N
для N otation).
Когда речь заходит о том, как справиться с этим в C #, существует ряд возможных вариантов.
Если у вас есть только пара вызовов с такими маленькими полезными нагрузками JSON, как этот, вы можете просто использовать базовую обработку строки C #:
var orderNumber = "12345";
var category = "ABC";
var secondCategory = "DEF";
var JsonString =
$"{{\"request\":{{\"TestRequest\":{{\"OrderID\":{{\"orderNumber\": \"{orderNumber}\",\"category\":\"{category}\"}},\"SecondCategory\":\"{secondCategory}\"}}}}}}";
Хотя обрабатывать ее как строку довольно просто, это не очень ремонтопригодно со временем.Черт, я написал эту строку, и даже я не могу ее прочитать.;)
Лучшим вариантом является создание классов, соответствующих структуре JSON, которые вы хотите, а затем использование Json.NET для их сериализации во время выполнения.Json.NET - чрезвычайно надежная и эффективная библиотека JSON.
Для начала вам нужно определить классы, которые соответствуют структуре вашего JSON:
public class Root {
public Request request { get; set; }
}
public class Request {
public TestRequest TestRequest { get; set; }
}
public class TestRequest {
public OrderID OrderID { get; set; }
public string SecondCategory { get; set; }
}
public class OrderID {
public string orderNumber { get; set; }
public string category { get; set; }
}
Затем вы можете использовать Json.NET для их сериализации в строку JSON:
string json = JsonConvert.SerializeObject(root, Formatting.Indented);