Я сталкиваюсь с проблемой сериализации объекта в JSON для соответствия имени параметра вызова функции WCF.Проблема состоит в том, чтобы отобразить имя параметра, то есть входящая строка JSON должна иметь начальное значение, совпадающее с именем параметра, передаваемого в функцию, например
"{\"GetComplexDataResult\":{\"BoolValue\":true,\"StringValue\":\"Hello World!\"}}"
Это моя функция WCF, которую я вызываю вмой клиент, и, как вы можете видеть, имя параметра совпадает с тем, которое возвращается "GetComplexDataResult"
[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)]
String SaveData(CompositeType GetComplexDataResult);
Проблема, которая возникает, когда я пытаюсь сериализовать свой объект, используя Microsoft System.Web.Script.Serialization.JavaScriptSerializer
илилюбая другая библиотека (например, Json.NET)
возвращает мне только {\"BoolValue\":true,\"StringValue\":\"Hello World!\"}
, даже если я передаю объект того же класса "CompositeType" (это код на стороне клиента), например
CompositeType GetComplexDataResult= new CompositeType();
GetComplexDataResult.BoolValue = true;
GetComplexDataResult.StringValue = "Hello World";
JavaScriptSerializer serializer = new JavaScriptSerializer();
string json = serializer.Serialize(patchVersion);
У меня вопрос, как мне получить эту строку JSON
"{\"GetComplexDataResult\":{\"BoolValue\":true,\"StringValue\":\"Hello World!\"}}"
вместо
{\"BoolValue\":true,\"StringValue\":\"Hello World!\"}
с помощью простой передачи моего объекта в анализатор JSON.Я могу объединить его вручную после того, как сгенерирую строку JSON, но это будет слишком много времени.Есть ли парсер, который решает эту проблему.