【发布时间】:2013-09-10 20:31:17
【问题描述】:
我正在尝试从目标 C 生成一些 javascript。我有一个简单的目标 C 对象:只有 NSStrings、NSArrays、NSDictionarys 和 NSNumbers - 我会喜欢将它作为对象文字插入到javascript中。最好的方法是什么?
到目前为止,我已经成功地序列化了对象并获得了 JSON 字符串,但 JSON 并不完全等同于 javascript 对象文字。我可以将其作为JSON.parse('%@') 调用插入,但这似乎效率低下:
(controller.createWindow).apply((controller), JSON.parse('[\"LoggedIn\",3,1,[0,0,480,320],false,false]'))
【问题讨论】:
-
你是如何生成 JSON 的?
-
@jsumners:
[NSJSONSerialization dataWithJSONObject:args options:0 error:&error];,然后[[[NSString alloc] initWithData:utf8stringified encoding:NSUTF8StringEncoding] autorelease];得到NSString,然后this 转义它 -
@Claudiu:为什么要额外转义? NSJSONSerialization(转换成NSString)不是你需要的吗?
-
@MartinR:JSON: The JavaScript subset that isn't。哦,虽然我记得以前经历过这个,解决方案就是替换那些字符......嗯,是的,这更简单
-
@MartinR:据我所知.. 我记得以前解决过这个问题,我已经使用 python 等效于我在下面发布的解决方案几个月没有遇到问题
标签: javascript objective-c json literals object-literal