首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Newtonsoft JSON.Net告诉我JSON无效。JSONLint说没事的

Newtonsoft JSON.Net告诉我JSON无效。JSONLint说没事的
EN

Stack Overflow用户
提问于 2014-11-22 19:18:32
回答 1查看 729关注 0票数 0

我正在进行以下URL调用,返回JSON:

US&fmt=json&includeProvisional=true

然后,我按照以下方式处理结果(其中URL包含上面的URL ):

代码语言:javascript
运行
复制
    using (var webClient = new System.Net.WebClient()) {
        string response = webClient.DownloadString(url.ToString());

        json = JObject.Parse(response);
    }

Parse语句正在抛出一个异常,告诉我JSON无效。但是,当我将结果粘贴到JSONLint中时,它会告诉我它是有效的JSON。错误是:

代码语言:javascript
运行
复制
{"Error reading JObject from JsonReader. Current JsonReader item is not an object: StartArray. Path '', line 1, position 1."}

调用返回的实际JSON如下(直接来自VS 2013调试器):

代码语言:javascript
运行
复制
[{"comName":"Great Horned Owl","howMany":2,"lat":41.6830727,"lng":-83.3776689,"locID":"L358647","locName":"Maumee Bay SP","locationPrivate":false,"obsDt":"2014-11-21 17:00","obsReviewed":false,"obsValid":true,"sciName":"Bubo virginianus"},{"comName":"Great Horned Owl","howMany":1,"lat":41.6292973,"lng":-83.6956447,"locID":"L586529","locName":"Home","locationPrivate":true,"obsDt":"2014-11-17 03:00","obsReviewed":false,"obsValid":true,"sciName":"Bubo virginianus"},{"comName":"Great Horned Owl","howMany":1,"lat":41.3654319,"lng":-83.6707431,"locID":"L628810","locName":"Wintergarden Woods and Saint Johns Nature Preserve","locationPrivate":false,"obsDt":"2014-11-12 14:43","obsReviewed":false,"obsValid":true,"sciName":"Bubo virginianus"},{"comName":"Great Horned Owl","howMany":1,"lat":41.616084,"lng":-83.2284737,"locID":"L772841","locName":"Ottawa NWR","locationPrivate":false,"obsDt":"2014-11-11 10:30","obsReviewed":false,"obsValid":true,"sciName":"Bubo virginianus"},{"comName":"Great Horned Owl","howMany":1,"lat":41.7437437,"lng":-83.6453748,"locID":"L3092222","locName":"Little Stream","locationPrivate":true,"obsDt":"2014-11-07 08:45","obsReviewed":false,"obsValid":true,"sciName":"Bubo virginianus"},{"comName":"Great Horned Owl","howMany":1,"lat":41.373203,"lng":-83.94178,"locID":"L176775","locName":"43534 McClure","locationPrivate":true,"obsDt":"2014-10-27 04:15","obsReviewed":false,"obsValid":true,"sciName":"Bubo virginianus"},{"comName":"Great Horned Owl","lat":41.6851559,"lng":-83.3239174,"locID":"L383970","locName":"Cedar Point NWR (restricted access)","locationPrivate":false,"obsDt":"2014-10-25 07:45","obsReviewed":false,"obsValid":true,"sciName":"Bubo virginianus"},{"comName":"Great Horned Owl","howMany":1,"lat":41.6498064,"lng":-83.2374224,"locID":"L211111","locName":"Metzger Marsh Wildlife Area","locationPrivate":false,"obsDt":"2014-10-23 15:05","obsReviewed":false,"obsValid":true,"sciName":"Bubo virginianus"}]
EN

Stack Overflow用户

回答已采纳

发布于 2014-11-22 19:29:15

问题是您的JSON字符串虽然有效,但并不表示JSON对象,而是表示一个JSON数组。因此,要解析它,您需要使用JArray.Parse()JToken.Parse()

票数 5
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27081438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档