Tech

แปลง multiple JSON object string ด้วย Python

สมมติว่าเรามี JSON object หลายๆ ตัวซ้อนกันอยู่ใน string แบบนี้ (multi line ด้วยอ่ะ ไม่งั้นล้นหน้า page wordpress)

json_string = = """
{"ID":1,"Key":{"Name":"A", "Surname":"A1"},"Pets":["Cat","Dog"]},
{"ID":9,"Key":{"Name":"Z", "Surname":"Z3"},"Pets":["Fish"]}
"""

ถ้าเรา convert มันให้กลายเป็น JSON object (จริงๆ คือ Python dict object) ด้วย json.loads(string) ตรงๆ ผลลัพท์ที่ได้จะบึ้มดังนี้

import json

json_string = = """
{"ID":1,"Key":{"Name":"A", "Surname":"A1"},"Pets":["Cat","Dog"]},
{"ID":9,"Key":{"Name":"Z", "Surname":"Z3"},"Pets":["Fish"]}
"""

json_obj = json.loads(json_string)

>>> Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "...\lib\json\__init__.py", line 354, in load
s
    return _default_decoder.decode(s)
  File "...\lib\json\decoder.py", line 342, in decod
e
    raise JSONDecodeError("Extra data", s, end)
json.decoder.JSONDecodeError: Extra data: line 1 column 65 (char 64)

ทางแก้คือเราต้องทำให้ string ก้อนนั้นเป็น JSON array แล้วเราจะได้ array ของ JSON object มาวนแต่ละตัวได้

import json

json_string = """
[
    {"ID":1,"Key":{"Name":"A", "Surname":"A1"},"Pets":["Cat","Dog"]},
    {"ID":9,"Key":{"Name":"Z", "Surname":"Z3"},"Pets":["Fish"]}
]
"""

json_obj = json.loads(json_string)

print(json_obj[0])
>>> {'ID': 1, 'Key': {'Name': 'A', 'Surname': 'A1'}, 'Pets': ['Cat', 'Dog']}

print(json_obj2[1])
>>> {'ID': 9, 'Key': {'Name': 'Z', 'Surname': 'Z3'}, 'Pets': ['Fish']}

ป.ล. string ถ้าไม่ multi lines ก็ใช้วิธีเดียวกันนั่นแหละ

ป.ล. 2 เพิ่งเห็นว่าเจ้า Gutenberg editor นี่ช่องให้ code ไม่มีรองรับ code syntax, formatting โคตรกากกกกกก ห่วยกว่าเก่าอีก

Categories: Code, Tech | Tags: , | Leave a comment

Far Cry 5

Far Cry 5 เป็นเกมแรกในตระกูล Far Cry ที่ผมเล่นจนจบ ก่อนหน้านี้ผมเคยเล่นภาค 4 ไปประมาณชั่วโมงกว่าๆ ตอนซื้อ PS4 มาใหม่ๆ และหลังจากนั้นก็ไม่ได้แตะมันอีกเลยซะงั้นก็มาแก้ตัวเอาในภาคนี้แล้วครับ ผมซื้อเกมนี้ตั้งแต่วันแรกที่ออก แต่หยุดเล่นไปเกือบเดือนเพื่อเล่น God of War ให้จบแล้วค่อยมาเล่นต่อเมื่อต้นเดือนที่ผ่านมาเอง


Continue reading

Categories: Diary, Review, Tech | Tags: , , , , , , | Leave a comment

Odin Sphere Leifthrasir

Odin Sphere Leifthrasir เป็นภาค Remaster ของเกม Odin Sphere ซึ่งเป็นเกมที่ผมอยากเล่นตัั้งแต่ตอนมันออก PS2 แล้ว แต่ตอนนั้นไม่มีเครื่องเล่น จริงๆ Leifthrasir มันออกตั้งแต่ปี 2016 บนทั้ง PS3, PS4 และ Vita ผมซื้อตั้งแต่วันแรกที่มันออกมา เล่นไปครึ่งนึงแล้วอยู่ๆ ก็ดองมันไว้ 1 ปีเต็มๆ (เพราะไปเล่นเกมอื่น) จนเพิ่งกลับมาเล่นจบในปี 2018 นี่แหละ T^T


Continue reading

Categories: Diary, Review, Tech | Tags: , , , | Leave a comment

A WordPress.com Website.

Bon appétit

Good food, Good taste for you

Bomreview

โบ้มรีวิว โตแล้วจะรีวิวอะไรก็ได้

rerng.rak

Just another WordPress.com weblog

neizod

Smile! You’re at the best WordPress.com site ever

Admod's blog

just logs

freeclub

พยายามเขียนให้ยาวกว่าเฮดเดอร์ข้างบนจะได้ดูสวยๆ

Anontawong's Musings

a daily dose of a new perspective

TravelKanuman

Travel around the world

kemisara

Belle Kemisara Paladesh's Fan Site - เว็บไซต์แฟนคลับเบลล์ เขมิศรา พลเดช

eatandysummers

eat. travel. live.

Jonathan Fleming's Blog

A Photography Blog

Viewfinder - Street Photography Blog

Jimmy Yang Street Photography Blog

PinkiiGirl

Be one of those who change things and push the human race forward

บล็อกอะไรไม่รู้ของแบม

Ordinary guy blogging about comic books, video games, movies and stuffs.