2011-01-12 3 views
0

안녕하세요, JSON.NET을 사용하여이 문자열을 역 직렬화하려고합니다. 이 같은JSON 문자열 속성에서 아포스트로피 제거

문자열의 모양을

{ 
    "mishelka.sk": { 
     "idUser": 15289422, 
     "nick": "MiShelKa.Sk", 
     "photo": "1", 
     "sex": 2, 
     "photoAlbums": 4, 
     "videoAlbums": 3, 
     "sefNick": "mishelka.sk", 
     "profilPercent": 78, 
     "emphasis": false, 
     "age": 14, 
     "isBlocked": false, 
     "PHOTO": { 
      "normal": "http://u.aimg.sk/fotky/1528/94/n_15289422.jpg?v=4", 
      "medium": "http://u.aimg.sk/fotky/1528/94/m_15289422.jpg?v=4", 
      "24x24": "http://u.aimg.sk/fotky/1528/94/s_15289422.jpg?v=4" 
     }, 
     "PLUS": { 
      "active": false, 
      "activeTo": "0000-00-00" 
     }, 
     "LOCATION": { 
      "idRegion": "10", 
      "regionName": "zahraničie", 
      "idCity": "182", 
      "cityName": "Zahraničie - GB" 
     }, 
     "STATUS": { 
      "isLoged": false, 
      "isChating": false, 
      "idChat": 0, 
      "roomName": "", 
      "lastLogin": 1294767618 
     }, 
     "PROJECT_STATUS": { 
      "photoAlbums": 4, 
      "photoAlbumsFavs": 1, 
      "videoAlbums": 3, 
      "videoAlbumsFavs": 33, 
      "videoAlbumsExts": 0, 
      "blogPosts": 0, 
      "emailNew": 1, 
      "postaNew": 0, 
      "clubInvitations": 0, 
      "dashboardItems": 54 
     }, 
     "STATUS_MESSAGE": { 
      "statusMessage": "Jaj henka zabila si dneska hah", 
      "addTime": "1294678134" 
     }, 
     "isFriend": false, 
     "isIamFriend": false 
    }, 
    "mishel431": { 
     "idUser": 18327105, 
     "nick": "mishel431", 
     "photo": "1", 
     "sex": 2, 
     "photoAlbums": 1, 
     "videoAlbums": 0, 
     "sefNick": "mishel431", 
     "profilPercent": 98, 
     "emphasis": false, 
     "age": 15, 
     "isBlocked": false, 
     "PHOTO": { 
      "normal": "http://u.aimg.sk/fotky/1832/71/n_18327105.jpg?v=5", 
      "medium": "http://u.aimg.sk/fotky/1832/71/m_18327105.jpg?v=5", 
      "24x24": "http://u.aimg.sk/fotky/1832/71/s_18327105.jpg?v=5" 
     }, 
     "PLUS": { 
      "active": false, 
      "activeTo": "0000-00-00" 
     }, 
     "LOCATION": { 
      "idRegion": "1", 
      "regionName": "Banskobystrický kraj", 
      "idCity": "70", 
      "cityName": "Lučenec" 
     }, 
     "STATUS": { 
      "isLoged": false, 
      "isChating": false, 
      "idChat": 0, 
      "roomName": "", 
      "lastLogin": 1294760188 
     }, 
     "PROJECT_STATUS": { 
      "photoAlbums": 1, 
      "photoAlbumsFavs": 0, 
      "videoAlbums": 0, 
      "videoAlbumsFavs": 0, 
      "videoAlbumsExts": 0, 
      "blogPosts": 0, 
      "emailNew": 1, 
      "postaNew": 0, 
      "clubInvitations": 0, 
      "dashboardItems": 14 
     }, 
     "STATUS_MESSAGE": { 
      "statusMessage": " I hate "apple" lalala:(", 
      "addTime": "1293656085" 
     }, 
     "isFriend": false, 
     "isIamFriend": false 
    } 

} 

나는 DIC 모든 것이 괜찮에이 문자열을 역 직렬화하려고하지만 한 가지 문제가 있습니다. 여기

가 있습니다 :

"STATUS_MESSAGE": { 
      "statusMessage": " I hate "apple" lalala:(", 
      "addTime": "1293656085" 
     }, 

상태 메시지 속성은 아포스트로피이 원인 무효 예외 JSON 문자열을 consit 수 있습니다. 난 모든 json 문자열에서 문자열 속성 statusMessage에서 우아한 apostrophs를 제거하고 싶습니다.

조언이 있습니다. regExp를 사용하십시오. 나는이 영역에서 강하지 않다. 백 슬래시를 사용하여 견적을 탈출해야 당신의 JSON 문자열의

[Export] 
public class StatusMessage : INotifyPropertyChanged 
{ 
    #region Private Fields 

    private string _message; 

    #endregion 

    #region Properties 

    [JsonProperty("statusMessage")] 
    public string Message 
    { 
     get { return _message; } 
     set 
     { 
      if (_message != value) 
      { 
       _message = value; 
       NotifyPropertyChanged("Message"); 
      } 
     } 
    } 

    [JsonProperty("addTime")] 
    public string AddTime { get; set; } 

    #endregion 

    #region Implementation of INotifyPropertyChanged 

    public event PropertyChangedEventHandler PropertyChanged; 

    #endregion 

    #region Public methods 

    public void NotifyPropertyChanged(string propertyName) 
    { 
     if (PropertyChanged != null) 
     { 
      PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); 
     } 
    } 
    #endregion 
} 
+0

@ user572844 참조하는 문자는 '큰 따옴표'또는 '큰 따옴표'입니다. –

+5

또한 JSON을 생성하는 데 결함이 있습니다. –

+0

이 json은 생성되지 않습니다. –

답변

2

발전기 :

이 부분은이 클래스의 직렬화입니다.
Json 웹 사이트의 사양을 확인하십시오. 잘못 작성한 Json 문자열에 대해 걱정할 필요가 없습니다.

+0

이 json 문자열은 응답이 없으므로 변경할 수 없습니다. http는 내 서버가 아닌 reqeust를 얻습니다. –