C# 从json字符串属性中删除撇号

C# 从json字符串属性中删除撇号,c#,json,serialization,json.net,C#,Json,Serialization,Json.net,嗨,我尝试用JSON.NET反序列化这个字符串 字符串如下所示: { "mishelka.sk": { "idUser": 15289422, "nick": "MiShelKa.Sk", "photo": "1", "sex": 2, "photoAlbums": 4, "videoAlbums": 3, "sefNick": "mishelka.sk", "

嗨,我尝试用JSON.NET反序列化这个字符串

字符串如下所示:

{
    "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"
        },
statusMessage属性可以包含撇号,这会导致无效的异常json字符串。我想删除所有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
}

Json字符串的生成器应使用反斜杠转义引号。

查看网站上的规范,这样您就不必担心格式错误的Json字符串了

@user572844您所指的字符是“引号”或“双引号”。此外,生成Json的是有缺陷的。此Json不会生成,无论生成Json的是什么,都是危险的错误,它允许最终用户插入任意命令。如果您
eval
it,最终用户将能够接管您的服务器。不要使用它。如果要将
statusMessage
的内容发送到数据库,SQL注入当然是可能的。如果消息是:Little Bobby“}}DROP TABLE“Students”/*我不能对这个json字符串进行任何更改,因为它是服务器上http get REQUEST上的响应,而不是我的。