2012-02-06 52 views
2

我写了一个.json文件,并希望用AFNetworking下载它。但AFNetworking抱怨: 无法预期的内容类型{( “文/ JSON”, “应用/ JSON”, “文/ JavaScript的” )},得到了纯文本/JSON文件设置内容类型到应用程序/ json AFNetworking

我的JSON文件test.json

{ 
"count-packages": 5, 
"packages": 
{ 
    "de": 
    { 
     "0": "Wackel Dackel", 
     "1": "Hans Wurst", 
     "2": "Peter Ploes", 
     "3": "Tiffel Toffel", 
     "4": "China Mann" 
    }, 
    "en": 
    { 
     "0": "Wobble dachshund", 
     "1": "Hans Sausage", 
     "2": "Peter Ploes", 
     "3": "Tiffel Potato", 
     "4": "Peking Ente" 
    } 
} 

}

HTTP/1.1 200 OK 
Date: Mon, 06 Feb 2012 17:31:06 GMT 
Server: Apache/1.3.41 Ben-SSL/1.59 
Last-Modified: Mon, 06 Feb 2012 17:28:13 GMT 
ETag: "18039c71-205-4f300dad" 
Accept-Ranges: bytes 
Content-Length: 517 
Content-Type: text/plain 

我如何更改内容类型?

+0

我发现在AFNetworking类AFHTTPRequestOperation方法的错误 - (BOOL)hasAcceptableContentType - (BOOL)hasAcceptableContentType { 回报self.acceptableContentTypes || [self.acceptableContentTypes containsObject:[self.response MIMEType]]; (BOOL)hasAcceptableContentType NSLog(@“mime type%@”,[self.response MIMEType]);(BOOL)hasAcceptableContentType {0}; return!self.acceptableContentTypes || [self.acceptableContentTypes成员:[self.response MIMEType]]; } – zeiteisen 2012-02-09 15:40:16

回答

3

这是服务器端的问题。如果你有控制的Apache服务器,添加以下行httpd.conf

application/json   json 

编辑:我错了上面我的回答语法。像@James所建议的那样,上面的这些行应该进入mime.types文件。但是,您也可以使用AddType指令并在httpd.conf中指定MIME类型。

AddType application/json .json 
+1

错误的文件。它是包含这些映射的mime.types。 – JamieSee 2012-02-06 17:58:56

+0

谢谢@詹姆斯,我纠正了。但是也可以在httpd.conf中指定稍微不同的语法。我相应地编辑我的答案。 – barley 2012-02-06 18:07:16

+0

@barley Thx为此! – 2012-03-06 13:56:00

-1

您无法更改.json文件的内容类型。可能错误来自javascript,那么你可以改变或解析为Json

+0

你是不正确的。您可以更改Web服务器为文件提供的内容类型。 – JamieSee 2012-02-06 17:56:54

1

如果您没有访问httpd.conf(如在许多情况下),你可以创建一个.htaccess文件,并简单地写AddType application/json .json内。把它放在你的json文件旁边,它应该可以!

+0

要在Windows中创建'.file'(如'.htaccess'),请参阅此答案https://stackoverflow.com/a/12298593/742855 – BenjaminButton 2018-01-08 16:16:30

相关问题