2014-11-18 3 views
0

У меня есть ответ от веб-службы, которую я использовал от партнера. Я хочу вставить строку в базу данных, а столбец - varchar. Я хочу разбить его и удалить фигурные скобки, двойные кавычки и двоеточия, как я могу это сделать или как вставить его в столбец базы данных, который является varchar? Язык, который я использую, - это C#.Снятие ответа

{"Currency":"USD","DueAmount":"776.38","DueDate":"2014-11-18T00:00:00+02:00"} 
+0

Было бы на самом деле проще сохранить строку в формате JSON, как это и хранить в БДЕ, так что вы можете использовать его позже ... –

+0

Таким образом, вы не десериализации ответа от службы? – danish

ответ

1

Я бы сказал, не лишить его. Как строка JSON это гораздо более интерпретируемые в будущем, когда вам нужна, чтобы добраться до отдельных элементов (например, JsonValue.Parse или JsonConvert.DeserializeObject<>)

Если вы должны избавиться от JSON и разомните поля вместе ... Может быть.:

strVal.Replace("{\"","").Replace("\":\"","").Replace("\",\"",",").Replace("\"}",""); 
0

функция String.Replace будет работать, чтобы заменить {} и». Что касается того, что проблема в VARCHAR, чтобы добавить эту строку. Она должна работать.

1

Это похоже на ответ JSON, и вы можете разобрать json, чтобы сопоставить его с фактическим классом.

Создать класс:

public class Reponse 
{ 
    public string Currency {get; set;} 
    public decimal DueAmount {get; set;} 
    public DateTime DueDate {get; set;} 

} 

Затем в коде сделать что-то подобное, чтобы отобразить ответ на класс выше.

Response ObjResponse = JsonConvert.DeserializeObject<Response>(ContentFromWebservice); 

Надеется, что это помогает ..

Смежные вопросы