我拿到的json本质是一个JS的赋值语句,如:
var data = {
"key": "value"
};
对于这种格式,是没办法直接使用iOS内置的方法来解析的。我的解决方案是:取回数据后,先转为NSString格式,然后通过字符串方法去掉var data =和尾部的;,再转为NSData格式,再用json
序列化方法转换出来。
如果有更好的方案,也希望有同学能分享出来学习哈。
我拿到的json本质是一个JS的赋值语句,如:
var data = {
"key": "value"
};
对于这种格式,是没办法直接使用iOS内置的方法来解析的。我的解决方案是:取回数据后,先转为NSString格式,然后通过字符串方法去掉var data =和尾部的;,再转为NSData格式,再用json
序列化方法转换出来。
如果有更好的方案,也希望有同学能分享出来学习哈。
|
youxiachaiMay 25, 2015
1
蛋碎..这个不叫json...是直接的js脚本..
如果是抓网页的话,那就无解了..(如果可能倒是可以eval)取值 如果是后台返回的..明显那个人的实现有问题.. |
|
2
JavaScriptCore
|
|
inmyfreeMay 25, 2015
3
@youxiachai 洗洗睡吧
|
|
jun4ruiMay 25, 2015
4
这个接口是谁写的?这不是json啊。
|
|
tuoxie007May 25, 2015 via iPhone
5
想办法执行一下js脚本吧,比如比较土的办法,用webview
|
|
6
|
|
tinyhillMay 25, 2015 via iPhone
7
js 不是可以直接执行吗?再不济用 eval 啊
|
|
yangxiongguoMay 25, 2015
8
N 年前的果然屌,返回后直接执行。
|
|
lixia625May 25, 2015
9
|
|
saber000May 25, 2015
10
正则贪心匹配花括号,这样:
\{.*\} |
|
luciferluMay 25, 2015
11
可以算是JSONP吧,http://en.wikipedia.org/wiki/JSONP
|
|
learnshareMay 25, 2015
14
这是 JavaScript,可以 eval(),不过不建议这么干
|
|
WildCatMay 25, 2015
15
String 替换是最好的方式了吧,eval() 很浪费性能,还得初始化个 JavaScriptCore
|
|
msg7086May 25, 2015
16
找到第一个等号和最后一个分号,然后strip掉嘛
|
|
17
集思广益,一起谢过LS的各位同仁指点哈
|
|
bomblessMay 25, 2015
18
你可以爬ast啊
这种工具我记得有一些不错的 |
|
typcnMay 25, 2015
21
如果你确定那个 var data 不会变,这就是最好/最快的办法了。
如果可能变的话,就放到 webview 里面运行一下 |
|
rcmerciMay 26, 2015
22
我擦。。这是json吗
|