- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在看一个看起来像这样的 json
{
"key": "cow",
"value": "woof"
}
{
"key": "dog",
"value": "moo"
}
我想解析它,但是 JSON.parse 不起作用,因为整个东西不是真的 json。实际上也没有任何换行符,所以它看起来像
{"key": "cow","value": "woof"}{"key": "dog","value": "moo"}
至于原因,这是来自 Comet 端点的流。理想情况下,它应该一个接一个地出现,但有时会出现中断,在它返回后,我会收到自中断发生以来发生的所有更改的列表,这些更改串在一起。因此,如果在连接中断时三个指令要关闭,我将在最后一次全部获取:
{"key": "cow","value": "woof"}{"key": "dog","value": "moo"}{"key":"cat","value":"baaa"}
有没有什么方便的方法可以在浏览器中解析这种json?
编辑:对不起,伙计们,我没有提到对象可以任意嵌套并且可以包含各种各样的东西,Unicode 字符、数组、对象、包含对象的数组、各种形状和大小的括号等等。所以大多数 hacky string-split 或 regex 解决方案在这些情况下都会失败。我没有把这些放在例子中,因为我很懒,但一个更有代表性的例子可能是
{
"key": "cow",
"value": {
"body": "big",
"name": "sally",
"children": [
"bob",
"daisy"
]
},
"alt-key": "牛"
}
{
"key": "dog",
"value": "moo{}{}{}}}} i love brackets[[[]] ]]]] }{}",
"array": [
"豆沙包",
"叉烧包"
]
}
虽然 regex/stringsplit 的东西在 95% 的时间里都能工作,但我正在寻找一个严格正确的解决方案,当输入正确的 json 时它总是能工作
最佳答案
如果值和键不包含 }{
,您可以简单地添加逗号使其成为有效的 JSON(并添加方括号使其成为数组):
var json = '[' + json.replace(/}{/g, '},{') + ']';
如果您只得到一个对象作为响应,这甚至可以工作。
关于javascript - 在javascript中解析粘在一起的json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11417817/
查看此页面:http://jsbin.com/itufix使用 IE(页面自动启用 IE7 模式)。 在这里您将找到如何使用显示 block 呈现内联元素(输入和跨度)的示例。所有元素的边距和填充都设
我有一个自定义的 UITabvleViewCell,其中有一个 UIImageView。当在 cellForRowAtIndexPath 中设置单元格时,我可以很好地设置图像(尽管我没有),但是在某些
我是一名优秀的程序员,十分优秀!