我有这个JSON http://www.progmic.com/ielts/retrive.php ,我需要解析。 当我与NSJSONSerialization做到这一点,我得到错误“在字符1981转义的控制字符”。
我需要知道:
- 到底什么是转义控制字符? 是否有一个列表或东西吗?
- 我该如何摆脱这种错误的? 最简单的方法是什么?
提前致谢。
我有这个JSON http://www.progmic.com/ielts/retrive.php ,我需要解析。 当我与NSJSONSerialization做到这一点,我得到错误“在字符1981转义的控制字符”。
我需要知道:
提前致谢。
添加此方法,以除去从检索字符串转义字符:
- (NSString *)stringByRemovingControlCharacters: (NSString *)inputString
{
NSCharacterSet *controlChars = [NSCharacterSet controlCharacterSet];
NSRange range = [inputString rangeOfCharacterFromSet:controlChars];
if (range.location != NSNotFound) {
NSMutableString *mutable = [NSMutableString stringWithString:inputString];
while (range.location != NSNotFound) {
[mutable deleteCharactersInRange:range];
range = [mutable rangeOfCharacterFromSet:controlChars];
}
return mutable;
}
return inputString;
}
recieving NSData的后,我将其转换为NSString的,调用上面的方法来获取去掉控制字符一个新的字符串,然后再转换为新的NSString NSData的进一步处理。
你在使用前NSJSONSerialization做? 检查编码,也许问题就在于那里。
我赶紧试着和它的工作。 源JSON是有效的。 这是我得到了什么,当我序列化阵列回JSON与漂亮的打印啄:
[
{
"url2": "http://ielts.progmic.com/app/i_COFANewSouthWhales.html",
"title": "COFA New South Whales ",
"img": "http://ielts.progmic.com/images/uni/1340407904.jpg",
"url": "http://ielts.progmic.com/app/COFANewSouthWhales.html",
"desc": "The College offers nine undergraduate degrees including some double degrees associated with other UNSW faculties.",
"img2": "http://ielts.progmic.com/images/uni/thumb/1340407904.jpg"
},
{
"url2": "http://ielts.progmic.com/app/i_RoyalCollegeOfArts.html",
"title": "Royal College Of Arts ",
"img": "http://ielts.progmic.com/images/uni/1340542224.jpg",
"url": "http://ielts.progmic.com/app/RoyalCollegeOfArts.html",
"desc": "The Royal College of Art (informally the RCA) is a public research university specialised in art and design located in London, United Kingdom. It is the world's only wholly postgraduate university of art and design, offering the degrees of Master of Arts (M.A.), Master of Philosophy (M.Phil.) and Doctor of Philosophy (Ph.D.). It was founded in 1837",
"img2": "http://ielts.progmic.com/images/uni/thumb/1340542224.jpg"
},
{
"url2": "http://ielts.progmic.com/app/i_MIDDLESEXUNIVERSITY.html",
"title": "MIDDLESEX UNIVERSITY ",
"img": "http://ielts.progmic.com/images/uni/1340410005.jpg",
"url": "http://ielts.progmic.com/app/MIDDLESEXUNIVERSITY.html",
"desc": "We have a reputation for the highest quality teaching, research that makes a real difference to people’s lives and a practical, innovative approach to working with businesses to develop staff potential and provide solutions to business issues. Our expertise is wide ranging, from engineering, information, health and social sciences, to business, arts and education - and we’re national leaders in work based learning solutions.",
"img2": "http://ielts.progmic.com/images/uni/thumb/1340410005.jpg"
},
{
"url2": "http://ielts.progmic.com/app/i_UNIVERSITYOFSCOTLAND.html",
"title": "UNIVERSITY OF SCOTLAND ",
"img": "http://ielts.progmic.com/images/uni/1340410189.jpg",
"url": "http://ielts.progmic.com/app/UNIVERSITYOFSCOTLAND.html",
"desc": " Founded in 1451, Glasgow is the fourth-oldest university in the English-speaking world. Over the last five centuries and more, we’ve constantly worked to push the boundaries of what’s possible. We’ve fostered the talents of seven Nobel laureates, one Prime Minister and Scotland’s inaugural First Minister. We’ve welcomed Albert Einstein to give a lecture on the origins of the general theory of relativity. Scotland’s first female graduates completed their degrees here in 1894 and the world’s first ultrasound images of a foetus were published by Glasgow Professor Ian Donald in 1958. In 1840 we became the first university in the UK to appoint a Professor of Engineering, and in 1957, the first in Scotland to have an electronic computer. All of this means that if you choose to work or study here, you’ll be walking in the footsteps of some of the world’s most renowned innovators, from scientist Lord Kelvin and economist Adam Smith, to the pioneer of television John Logie Baird.",
"img2": "http://ielts.progmic.com/images/uni/thumb/1340410189.jpg"
}
]
您可以复制并粘贴在JSON文件,将其保存在不同的编码,看看发生了什么事情与您的代码。 UTF-8应该是要走的路。