相关疑难解决方法(0)

解析一行中的多个 json 对象

我正在解析包含 json 对象的文件。问题是某些文件在一行中有多个对象。例如:

{"data1": {"data1_inside": "bla{bl\"a"}}{"data1": {"data1_inside": "blabla["}}{"data1": {"data1_inside": "bla{bla"}}{"data1": {"data1_inside": "bla["}}
Run Code Online (Sandbox Code Playgroud)

我制作了一个函数,当没有左括号时尝试解析子字符串,但值中可能有大括号。我尝试通过检查引号的开头和结尾来跳过值,但也有带有转义引号的值。关于如何处理这个问题的任何想法?

我的尝试:

def get_lines(data):
    lines = []
    open_brackets = 0
    start = 0
    is_comment = False
    for index, c in enumerate(data):
        if c == '"':
            is_comment = not is_comment
        elif not is_comment:
            if c == '{':
                if not open_brackets:
                    start = index
                open_brackets += 1

            if c == '}':
                open_brackets -= 1
                if not open_brackets:
                    lines.append(data[start: index+1])

    return lines
Run Code Online (Sandbox Code Playgroud)

python json

7
推荐指数
2
解决办法
8535
查看次数

如何在javascript/nodejs中拆分包含n个连接json字符串的字符串?

假设我从套接字服务器(我无法控制)收到此字符串:

{"data":{"time":"2016-08-08T15:13:19.605234Z","x":20,"y":30}}{"data":{"time":"2016-08-08T15:13:19.609522Z","x":30,"y":40}} 
Run Code Online (Sandbox Code Playgroud)

我不能使用JSON.parse,因为它包含2个Json字符串,所以我怎么能分成

var jsonString1 = {"data":{"time":"2016-08-08T15:13:19.605234Z","x":20,"y":30}}
Run Code Online (Sandbox Code Playgroud)

var jsonString2 = {"data":{"time":"2016-08-08T15:13:19.609522Z","x":30,"y":40}} 
Run Code Online (Sandbox Code Playgroud)

注意:我实际上可能有1到n个Json字符串连接在一起

javascript json node.js

1
推荐指数
1
解决办法
5108
查看次数

标签 统计

json ×2

javascript ×1

node.js ×1

python ×1