У меня проблема с десериализацией строки json, поскольку строка имеет неправильный формат.
Например, объект json состоит из свойства свойства statusMessage со значением "Hello " dog "".
Правильный формат должен быть "Hello \" dog \ "".
Я хотел бы удалить двойные кавычки из этого свойства.
Что-то вроде этого."Привет " собака "".-> «Hello dog».
Вот оригинальная строка json, с которой я работаю.
"{\"jancl\":{\"idUser\":18438201,\"nick\":\"JANCl\",\"photo\":\"1\",\"sex\":1,\"photoAlbums\":1,\"videoAlbums\":0,\"sefNick\":\"jancl\",\"profilPercent\":75,\"emphasis\":false,\"age\":\"-\",\"isBlocked\":false,\"PHOTO\":{\"normal\":\"http://u.aimg.sk/fotky/1843/82/n_18438201.jpg?v=1\",\"medium\":\"http://u.aimg.sk/fotky/1843/82/m_18438201.jpg?v=1\",\"24x24\":\"http://u.aimg.sk/fotky/1843/82/s_18438201.jpg?v=1\"},\"PLUS\":{\"active\":false,\"activeTo\":\"0000-00-00\"},\"LOCATION\":{\"idRegion\":\"6\",\"regionName\":\"Trenčiansky kraj\",\"idCity\":\"138\",\"cityName\":\"Trenčianske Teplice\"},\"STATUS\":{\"isLoged\":true,\"isChating\":false,\"idChat\":0,\"roomName\":\"\",\"lastLogin\":1294925369},\"PROJECT_STATUS\":{\"photoAlbums\":1,\"photoAlbumsFavs\":0,\"videoAlbums\":0,\"videoAlbumsFavs\":0,\"videoAlbumsExts\":0,\"blogPosts\":0,\"emailNew\":0,\"postaNew\":0,\"clubInvitations\":0,\"dashboardItems\":1},\"STATUS_MESSAGE\":{\"statusMessage\":\"\"Status\"\",\"addTime\":\"1294872330\"},\"isFriend\":false,\"isIamFriend\":false}}"
Проблема здесь, строка json состоит из этого объекта:
"STATUS_MESSAGE": {"statusMessage":" "some "bad" value" ", "addTime" :"1294872330"}
Условие строки, которое я хочу изменить:
- строка начинается с "statusMessage": "
- строка может иметь любую * длину от 0 -N *
- конец строки с "," addTime
Поэтому я пытаюсь написать шаблон для строки, которая начинается с "statusMessage": ", имеетлюбая длина и заканчивается на "," addTime.
Вот оно:
const string pattern = " \" statusMessage \" : \" .*? \",\"addTime\" ";
var regex = new Regex(pattern, RegexOptions.IgnoreCase);
//here i would replace " with empty string
string result = regex.Replace(jsonString, match => ???);
Но я думаю, что шаблон неправильный, также я не знаю, как заменить двойные кавычки пустой строкой(убрать двойные кавычки).
Моя цель:
"statusMessage":" "some "bad" value"
до "statusMessage":" "some bad value"
Спасибо за совет