2011-01-12 7 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のすべてにこの文字列をデシリアライズしてみてくださいOKですが、私は一つの問題を持っています。ここで

は、それは次のようになります。

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

statusMessageプロパティは、この原因無効例外JSON文字列をアポストロフィをconsitすることができます。私はエレガントなすべてのJSON文字列内の文字列プロパティstatusMessageからアポストロフィを削除したいと思います。

アドバイスをお願いします。 regExpを使用します。私はこの分野では強くない。

[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ウェブサイトの仕様をチェックしてください。間違って形成されたJsonストリングについて心配する必要はありません。

+0

このjson文字列は、 httpは私のものではないサーバー上でreqeustを取得します。 –

関連する問題