json . jsonreaderexception:未终止字符串.预期的分隔符

本文关键字:分隔符 字符串 终止 jsonreaderexception json | 更新日期: 2023-09-27 17:51:02

在解析包含JSON的字符串时收到此异常:

Newtonsoft.Json.JsonReaderException: Unterminated string. Expected delimiter: ". Path '[114].var2', line 1, position 431602.

所以我去了那个(431602)位置,发现它在这里:(…)lZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqK * jp * KWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW1(…)

所以它只是简单的"jp"字符,不应该有任何错误。

这个异常的原因是什么?

编辑更具体地说,我还放了一个整个字符串,周围有几个变量:

"var1":"946","var2":"'/9j'/4AAQSkZJRgABAQAAAQABAAD'/'/gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gNjAK'/9sAQwANCQoLCggNCwoLDg4NDxMgFRMSEhMnHB4XIC4pMTAuKS0sMzpKPjM2RjcsLUBXQUZMTlJTUjI+WmFaUGBKUVJP'/9sAQwEODg4TERMmFRUmTzUtNU9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09P'/8AAEQgAeABHAwEiAAIRAQMRAf'/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC'/'/EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29'/j5+v'/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC'/'/EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29'/j5+v'/aAAwDAQACEQMRAD8A9OooooAKTNLTaAI7m5jtoWllYKqjOTXmniTxrqMt00elXflQDg4TB'/765P8AKtPxnqdxc67HokZEVuqB55O+OvH4Vz2qalbQCAWiQqpBwyRAuADjC5GAM5GepwT6Z5pVJqpY0UVy3LXh'/wAU65JGySqb0K3LLOfMH4ZyR+FbMXj0218kN5bs0R4f++h'/TP06+9cdZxWWqyyxo0qXuCyFpMlz+X+FQarMb6CByzedANkin7w'/Hrjg9elTG'/tLjaXKe32tzDd20dxbSLJFIMqw7iiuR8B6r51qtm5XfGigj1P+Qf0orohPmRm1Y7OiiirEFIRS0UAecfEbTJYro6tbSNuKKkir2UgjP8qwRbO+mXiwxxvP+6iw+Pkwoyee3J59q7vxaxt7uGaZN9q8ZjlX'/Zzz'/NT+BrkBJZRXzI8jQMmUVuAJY+wOeOnuCPeuKrKSk1Y2gkZmm2lrZ6haJPbOlwSHExlwu0dWwPboKuqqy+JYbmCNSk12UY5yGRdvzfmrnNYpihuL1ks7Se4cnasa5Kg'/zIq3dx30t+mm26CCWNNrFWwIUx8xJBOBj3'/U05Ru736AnpYteFUuJvFSRwybtxZ2Zc4A2HA'/L+dFdJ4PmtBrMOn6YhaCBGaSXH3jjGfzx+Aoram3JXtYzluegUUUVsSFFFFAFa'/tYby2MM65U9D6GvMfEeg32m5CwPc2n8EkQJaP29cV6fdSJDE0sjYVRkmuD1fxHqU8p'/s+wl8kHALxMS3vjtWU7XuUmznbO38S6lbFIL2SK16Zf5N35DJq9b+FobVDJe3ny9X28A'/UmmNe+J7kbUhkQH'/pkF'/nTU0K8um36ret'/uht5'/wFcbk1vJRXlqzVK'/S50'/guazbVZrfTYx5MURLuBwTkADPfvRWv4Q02HT9PdoI9okbgnknHcmiuyilyKxlPc36KKK1JCmuyopZ2CqoySTgAU6ue8TRXOpQfYLW5WCJj++bBJb'/ZHt61FSpGmryY1FvRFW+8V6O0m37aCq9AqMc'/pVCfxppUIIjiuJPooA'/U1Vj8D2xOZ72Vv91Qv+NWH8JaVFg7ZpSB'/G'/+GK8qpLDSlzSbZulO1kZVz4xspSfL0yTPr52P6VWSbWtXlSGxs3gWRgA+Mf8Ajx'/pW0H0XSG+Y2sJHpgt'/jXReG5YdQR9QhVvKyUiZlxu9SP5fnV0VGU1yQ07sJNpayNextUsrGG1jJKxIFyep9z9etFT0V6pzhRRUNzOtvEZH+gA6k+lJtJXYGP4o8RQ6FbqCplnk+6gbBA9T'/n+VcHP42vHYmC2hjz'/AHiWP9K67UNGsLqd7u'/Rpp5OTuc4HoAB2FUhDodgculnAR'/e27v8a82riaVR'/C2bxhJLexzaa'/r1'/wDLA8p9oYv'/AK2aVtN8QXn+uFwQevnS4A'/AmuifxTpFvlI5Hl9o0P8AXFY194xIJFrZ'/RpG'/oP8aIyqv+HTS'/r5A1Hqw0vwTJdXiJe3ACnlliGePqf8K9OtreK0to7e3QJFEoVVHYCuf8Epezaa2o6gQHuT+6QLgKg7'/j'/hXS13UVNR996mUmr6BRRRWpIyWRIYnklYIiAszE4AA6mvNtW8Q6rqmoNJpqzrbR8QqkeSf9o8dT+ldfrOrWkbtBJcwKkf+s3uBk9l'/qfwrFm8WaRCNrXW8+iKT'/8AWrjrV3fkjG5rGGl27HJyaf4m1FyZRdFT2kk2j8iafB4Ov2cefPDGPYlj'/n8a2LjxnZKD5FvPJ'/vYUf1rHn8Z3jt+4too'/wDeJY'/0rJSxL+GKRVqa3dzctfB9lHg3E80p9BhR'/X+dalloel'/bkt4LWLcBuct8zBfXmuPW58R6mm5Tc7D'/AHR5a'/nxXoXhHQjounE3BDXlwd0zZzj0XPt'/PNOFCpOXvzv5ITmktEboAVQqjAAwAKWiivQMQooooA8417wlc3OsX00U0McUkvmDOc8gE8Y9SazIfCUCNi5upH9kUL'/PNdZ411S60ia3e3ijdLhSpLg8Ffoff9K8+udc1i7lKwswz2hj'/wAmuKca7k7OyNouCWqOpt9A0mFMm3Lkd3cn'/wCtT2uNF0'/7rWkLDsoG79Oa5BNL1q95m8zB7zSf061p6d4OmnuESa5XJONsa5'/U1g6Uft1LlqT6RO18OXUWsXLSW6u1tbEZkYYDP2A+nX8q6qqek6bb6Tp0VlajCRjknqx7k1crvpUo0o2iYSk5O7CiiitSQooooAoavaLc26ExLI0ThgCufY'/zrEOi39xIf3ccMeeNx7fQUUVzzoRqTvIuM3FaFqLw1ggy3ZI7hEx+pP8AStOy0u2sm3xb2fGNznOKKKuNGnHVITnJ7su0UUVqSJRmiigAzRRRQB'/'/2Q==","var3":"77241"

json . jsonreaderexception:未终止字符串.预期的分隔符

我注意到这似乎是一个base64编码的JPEG。在大多数情况下,它会更好& &;更容易让你的服务器发送回jpeg而不是JSON。

public ActionResult ShowImage() 
{
    var file = Server.MapPath("~/App_Data/UserUpload/asd.png");
    return File(file, "image/png", Path.GetFileName(file));
}

点击链接查看原文

故障排除建议:

如果您无法放置整个字符串,您可能希望将其缩小以隔离错误。

尝试一次删除一个a块字符(我会使用二进制左/右半实验方法),直到它停止破坏。然后仔细看看不好的那一半。如果你能把坏的一半弄得足够小,看不到错误,请贴出来。

我猜错误给出的列计数方式与您计数的方式不同。