나는 데이터 테이블을 JSON 문자열로 변환하는 아래 코드를 가지고 있습니다. JSON은 내 WCF 서비스에서 가져 오는 것입니다.JSON 응답에서 큰 따옴표를 이스케이프 처리하려면 어떻게해야합니까?
[{"id":"7c6c2d6b-416c-4535-95ba-b49a9f0c008b","title":"hello","description":"world","complete":true,"DependsOnTask":"63d47a78-ba4d-4740-9f61-9247dd9d5e82","id1":"63d47a78-ba4d-4740-9f61-9247dd9d5e82","title1":"another","description1":"example","complete1":false,"DependsOnTask1":null}]
이며 변환 코드는 다음과 같습니다.
string json = JsonConvert.SerializeObject(dt,Formatting.Indented);
string cleanjson = json.Replace("\"", "");
return json;
문제는 내가 JSON이 거기에 여분의 따옴표를 가지고 있기 때문에 그 응답을 잡 클라이언트에서 제대로 JSON을 deserialise 수없고, 내가하려면 string.replace를 사용하여 제거 할 수 없었다 것입니다.
전혀 다른 방법이 있습니까? 사전 :
******* UPDATE *********
에서
감사 이것은 내가 클라이언트에서 사용하고 코드입니다
private void LoadTasks()
{
// get the todo list items
ToDoService.ToDoServiceClient client = new ToDoService.ToDoServiceClient();
try
{
//List<ToDoService.ToDoItemContract> toDoItems = client.GetToDoItems("").ToList();
//List<string> ItemsWithDependantTasks = new List<string>();
var Items= client.GetAllDependantTasks();
List<string> list = JsonConvert.DeserializeObject<List<string>>(Items);
dlTasks.DataSource = list;
dlTasks.DataBind();
client.Close();
}
catch (Exception ex)
{
// TODO: Log error
client.Abort();
}
}
귀하의 json 문자열은 정상입니다 ... –
데이터 배열 인 것처럼 보이는 것은 중복 된 번호가 매겨진 속성으로 표시됩니다. 왜 그것을하고 있습니까 ? 이 두 레코드가 있습니까? – user3185569
Btw,' "\"'는 Visual Studio와 디버거에서 보여 지지만 실제로는 데이터의 일부가 아니므로이를 대체 할 필요가 없습니다. – user3185569