Python serialize list<T>

import uuid
from datetime import datetime
import time
import json

class Book:
    def __init__(self,id,name,author,isbn,title,topic):
        self.id=id
        self.name=name
        self.author=author
        self.isbn=isbn
        self.title=title
        self.topic=topic

    def __str__(self):
        return f"Id:{self.id},Name:{self.name},Author:{self.author},ISBN:{self.isbn},Title:{self.title},Topic:{self.topic}"
    
    def init_booksList(num=1000000):
        booksList=[]
        for a in range(1,num+1):
            booksList.append(Book(f'{a}',f'Name_{a}',f'Author_{a}',f'ISBN_{a}',f'Title_{a}',f'Topic_{a}'))
        return booksList
    
    def json_serialize(jsonFile,booksList=None):
        if booksList==None:
            return
        bk_data=[]
        for bk in bookslist:
            bk_dic={
                'id':bk.id,
                'name':bk.name,
                'author':bk.author,
                'isbn':bk.isbn,
                'title':bk.title,
                'topic':bk.topic
            }
            bk_data.append(bk_dic)
        with open(jsonFile,'w+',encoding='utf-8') as writeFile:
            json.dump(bk_data,writeFile,indent=2)
        
        print(f'Serialize {len(booksList)} in {jsonFile}')


bookslist=Book.init_booksList(10000000)
jsonFile=f'Book_{datetime.now().strftime("%Y%m%d%H%M%S%f")}.json'
Book.json_serialize(jsonFile,bookslist)

 

PS D:\PY>  d:; cd 'd:\PY'; & 'c:\Users\fred\AppData\Local\Programs\Python\Python314\python.exe' 'c:\Users\fred\.vscode\extensions\ms-python.debugpy-2025.14.1-win32-x64\bundled\libs\debugpy\launcher' '58324' '--' 'D:\PY\PythonTest2.py' 
Serialize 10000000 in Book_20251111220250336698.json
PS D:\PY> 

 

 

 

 

 

 

image

 

 

 

image

 

posted @ 2025-11-11 22:06  FredGrit  阅读(4)  评论(0)    收藏  举报