Xử lý dữ liệu dạng json

Mình có file dữ liệu như này:

{"id":"BOOK_0661663","raw":"\"Niketown ư?\"","original":"\"Niketown ư?\""}
.................
................
{"id":"BOOK_0661684","raw":"Frank đáp: \"Ớ New York.\"","original":"Frank đáp: \"Ở New York.\""}
.....................
...vvv..........
{"id":"BOOK_0661872","raw":"\"Hi hi, em nói đùa ấy mà!\"","original":"\"Hi hi, em nói đùa ấy mà!\""}

nó chưa ở dạng jon, giờ mình muốn conver nó về dạng json để đọc, bạn nào có hướng giải quyết cho mình không.

cám ơn mọi người

Mấy cái ...... là gì thế, cũng tương tự như các dòng {"id":...} à?

3 Likes

ý nghĩa là còn nhiều cái như thế nữa thôi.

mỗi json 1 dòng thì đọc từng dòng ra rồi convert sang json thôi

4 Likes

String như này

{"id":"BOOK_0661663","raw":"\"Niketown ư?\"","original":"\"Niketown ư?\""}

thì đã là ở dạng json rồi.
Có nhiều string như vậy, thì bạn có thể bỏ hết vào list, xong dumps ra thành 1 cục json luôn cung duoc.

import json
string1 = {"id":"BOOK_0661663","raw":"\"Niketown ư?\"","original":"\"Niketown ư?\""}
string2 = {"id":"BOOK_0661684","raw":"Frank đáp: \"Ớ New York.\"","original":"Frank đáp: \"Ở New York.\""}
string = []
string.append(string1)
string.append(string2)

print(json.dumps(string))

json có json.loads() và json.dumps() nha
Mình note thêm xíu cho rõ, chỗ “string” mình nói ý là bạn đọc dòng text đó từ file hay source nào đó, còn khi ghi như ví dụ mình để bên trên, mình cái “string1” đó một dict.

Cái này không ảnh hưởng lắm nếu làm trong ví dụ, nhưng mà mình muốn giải thích rõ hơn xíu

4 Likes

mình ví dụ một dòng cho ngắn thôi, chứ không phải cái json nào cũng 1 dòng

làm sao để đọc được mối json để append vậy. Khi số dòng nó không luôn bằng 1

Split \n rồi parse json là đọc đc

4 Likes

Mình vừa tim được cái này, và đã giải quyết được vấn đề của mình: https://stackoverflow.com/questions/12451431/loading-and-parsing-a-json-file-with-multiple-json-objects
cám ơn mọi người.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?