Tôi đang gặp khó khăn khi phân tích cú pháp tệp json lớn.Cách tốt nhất để phân tích cú pháp tệp JSON khổng lồ trong ruby
Tệp là> 1GB và tôi đã thử sử dụng hai loại đá quý: ruby-stream và yajl, cả hai đều không hoạt động.
Dưới đây là ví dụ về những gì sẽ xảy ra.
fileStr = File.read("hugeJSONfile.json")
^Phần này là OK.
Nhưng khi tôi cố gắng tải tệpStr vào một băm JSON (thông qua ruby-stream hoặc yajl), máy tính của tôi bị đóng băng.
Bất kỳ ý tưởng nào khác về cách thực hiện điều này hiệu quả hơn? Cảm ơn bạn.
Tôi không chắc chắn nếu bạn đọc toàn bộ bài đăng của tôi, nhưng cả hai đá quý đó đều đóng băng máy tính của tôi. – hackstar15
Linh cảm của tôi là tệp JSON của tôi quá phức tạp đối với những viên đá quý đó. Ví dụ: nếu tôi có một cái gì đó như [{... [... {...}]}] trong đó mỗi "..." là siêu dài thì đá quý có thể phát trực tiếp cho đến khi cố gắng cân bằng khung combo, có thể mất một lúc. Xin lưu ý rằng tôi KHÔNG xem xét cách những viên đá quý này tối ưu hóa quy trình phát trực tuyến và đây là tất cả linh cảm. – hackstar15
Bạn có đang xem mức sử dụng bộ nhớ của mình trong khi các trình phân tích cú pháp đó đang chạy không? Tôi tò mò chương trình chạy bao lâu trước khi bạn quyết định nó đã bị đóng băng? –