Alex
Alex

Reputation: 827

Return JSON response from Python function

def addData():
    res = []
    class InfoData:
        def __init__(x, ID, number):
            x.ID = ID
            x.number = number

    for i in range(0, 10):
        res.append(InfoData("A",i))
        
    return json.dumps(res)
    #I got "Object of type InfoData is not JSON serializable"

I make an API using Flask Python and having a basic function above.

How can I return JSON response from this function ?

Upvotes: 3

Views: 361

Answers (2)

Stanley Ulili
Stanley Ulili

Reputation: 1424

Do it this way.

def addData():
    res = []
    class InfoData:
        def __init__(x, ID, number):
            x.ID = ID
            x.number = number

    for i in range(0, 10):
        res.append(InfoData("A",i).__dict__)
        
    return json.dumps(res)

Upvotes: 3

Pass json-representation of InfoData class instances. F.e. {'id': ..., 'number': ...}.

Upvotes: 2

Related Questions