草庐IT

ios - iOS Swift 格式正确的 ."UserInfo={NSDebugDescription=Garbage at end ---> Data cannot be read because it isn' t 末尾的垃圾

coder 2024-01-29 原文

所以这是我的网络请求。

//MARK:- 网络请求

let urlString = Constants.kBaseUrl + Constants.kEventsUrl

Alamofire.request(.GET, urlString, parameters: nil, encoding: .JSON, headers: [Constants.kChecksum:Constants.kChecksumValue]) .responseJSON { response in

    guard response.result.isSuccess else {

        let alertController = UIAlertController(title:"Error", message:response.result.error?.localizedDescription, preferredStyle:UIAlertControllerStyle.Alert)

        let okAction = UIAlertAction(title: "Cancel", style: .Cancel, handler: { action in
            self.isFetchingEvents = false;
            self.eventsFetchError = response.result.error
            self.eventsTableView.reloadData()
        })

        let retryAction = UIAlertAction(title: "Retry", style: .Default, handler: { action in
            self.downloadEvents()
        })

        alertController.addAction(okAction)
        alertController.addAction(retryAction)

        self.presentViewController(alertController, animated: true, completion:  nil);

        return
    }

    let tempInfo = response.result.value![Constants.kData] as! [AnyObject]

//MARK:- 以及我来自 postman 的 json 响应

 {
  "success": 1,
  "message": "Successful",
  "data": [
    {
      "id": "196",
      "title": "Arusha Christmas Fair 2016",
      "body": null,
      "field_events_date_from": "2016-12-24",
      "field_events_date_to": "2016-12-25",
      "field_events_time_from": "2016-10-03 13:56",
      "field_events_time_to": "2016-10-03 21:57",
      "image": "http://clients.view9.com.np/jwaremap/sites/default/files/events/2250x3324-christmas-fair_0.png",
      "image-thumbnail": "http://clients.view9.com.np/jwaremap/sites/default/files/styles/thumbnail/public/events/2250x3324-christmas-fair_0.png?itok=U2W8DgA-",
      "image-medium": "http://clients.view9.com.np/jwaremap/sites/default/files/styles/medium/public/events/2250x3324-christmas-fair_0.png?itok=ZZlYlC6L",
      "image-large": "http://clients.view9.com.np/jwaremap/sites/default/files/styles/large/public/events/2250x3324-christmas-fair_0.png?itok=-vZhcEag",
      "image-providercategory_threex": "http://clients.view9.com.np/jwaremap/sites/default/files/styles/providercategory-threex/public/events/2250x3324-christmas-fair_0.png?itok=hwpr3WQd",
      "field_events_location": {
        "lat": "-3.416825167067",
        "lon": "36.657226562500"
      },
      "field_events_address": "TGT Grounds",
      "field_events_email": "info@arushafair.com",
      "field_events_contact": null,
      "field_events_website": "www.arushafair.com",
      "field_trip_advisor": null,
      "field_facebook": "https://web.facebook.com/events/681411865357050/",
      "field_twitter": null,
      "field_youtube": "https://www.youtube.com/watch?v=_Pvisfxe6CA",
      "field_info": "The ARUSHA COMMUNITY CHRISTMAS FAIR is the most anticipated holiday shopping and family fun event of the year -- hosting over 125 vendors and artisans from across East Africa and 5,000 visitors enjoying local talent, Arusha's best food and drink, lots of activities for the kids, and the chance to take home great prizes in the fantastic raffle and silent auction."
    }
  ],
  "author": {
    "name": "superadmin",
    "field_user_phone": "",
    "field_user_address": {
      "lat": "",
      "lon": "",
      "address": ""
    },
    "modified_date": "1475475942"
  },
  "total_items": 1,
  "last_update": "1475475942"
}

但是,它总是进入 else block 并抛出错误

Error Domain=NSCocoaErrorDomain Code=3840 “最后是垃圾。” UserInfo={NSDebugDescription=最后是垃圾。})

在打印错误描述时,它返回 “无法读取数据,因为它的格式不正确。”

这是我的网址:

http://clients.view9.com.np/jwaremap/api/v1/content/events

这是所需的 header 键:

["校验和":"3389dae361af79b04c9c8e7057f60cc6"]

在使用 jsonlint.com 验证 json 结构时,它会将其验证为有效的 json。在使用 .responseString 而不是 .responseJSON 时,我得到了结果。

我不知道我错过了什么

有人请告诉我我错过了什么..

最佳答案

检查您的 Web 服务响应,它不是有效的 json,这就是您收到此类错误的原因。

尝试在此处查看您的 json 响应:- http://jsonviewer.stack.hu/

在您的 postman json 响应末尾缺少一个括号“}”。

关于ios - iOS Swift 格式正确的 ."UserInfo={NSDebugDescription=Garbage at end ---> Data cannot be read because it isn' t 末尾的垃圾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39831188/

有关ios - iOS Swift 格式正确的 ."UserInfo={NSDebugDescription=Garbage at end ---> Data cannot be read because it isn' t 末尾的垃圾的更多相关文章

  1. ruby-on-rails - rails : "missing partial" when calling 'render' in RSpec test - 2

    我正在尝试测试是否存在表单。我是Rails新手。我的new.html.erb_spec.rb文件的内容是:require'spec_helper'describe"messages/new.html.erb"doit"shouldrendertheform"dorender'/messages/new.html.erb'reponse.shouldhave_form_putting_to(@message)with_submit_buttonendendView本身,new.html.erb,有代码:当我运行rspec时,它失败了:1)messages/new.html.erbshou

  2. ruby-on-rails - 由于 "wkhtmltopdf",PDFKIT 显然无法正常工作 - 2

    我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-

  3. ruby-on-rails - 'compass watch' 是如何工作的/它是如何与 rails 一起使用的 - 2

    我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t

  4. ruby - 如何将脚本文件的末尾读取为数据文件(Perl 或任何其他语言) - 2

    我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚

  5. ruby - 检查 "command"的输出应该包含 NilClass 的意外崩溃 - 2

    为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar

  6. ruby-on-rails - Rails 3.2.1 中 ActionMailer 中的未定义方法 'default_content_type=' - 2

    我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer

  7. ruby - 在 jRuby 中使用 'fork' 生成进程的替代方案? - 2

    在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',

  8. ruby - 主要 :Object when running build from sublime 的未定义方法 `require_relative' - 2

    我已经从我的命令行中获得了一切,所以我可以运行rubymyfile并且它可以正常工作。但是当我尝试从sublime中运行它时,我得到了undefinedmethod`require_relative'formain:Object有人知道我的sublime设置中缺少什么吗?我正在使用OSX并安装了rvm。 最佳答案 或者,您可以只使用“require”,它应该可以正常工作。我认为“require_relative”仅适用于ruby​​1.9+ 关于ruby-主要:Objectwhenrun

  9. ruby - 无法让 RSpec 工作—— 'require' : cannot load such file - 2

    我花了三天的时间用头撞墙,试图弄清楚为什么简单的“rake”不能通过我的规范文件。如果您遇到这种情况:任何文件夹路径中都不要有空格!。严重地。事实上,从现在开始,您命名的任何内容都没有空格。这是我的控制台输出:(在/Users/*****/Desktop/LearningRuby/learn_ruby)$rake/Users/*******/Desktop/LearningRuby/learn_ruby/00_hello/hello_spec.rb:116:in`require':cannotloadsuchfile--hello(LoadError) 最佳

  10. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

随机推荐