Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk mendapatkan data json penuh menggunakan jsom.dumps?

Saya telah mempelajari pengaturcaraan flask dalam python baru-baru ini, dan kini saya menggunakan easyui jQuery untuk menulis aplikasi web Masalahnya sekarang ialah selepas saya menanyakan pangkalan data, saya ingin mengembalikan data json standard ke bahagian hadapan, tetapi program gesaan:

 File "D:\jQueryUI code\Flasktest.py", line 23, in p_statusnow
    p_status_json = json.dumps({'total':total,'rows':[{'emp_sn':i.emp_sn,'name':i.name,'password':i.password,'emp_dept_sn':i.emp_dept_sn,'py_code':i.py_code,'wb_code':i.wb_code,'autograph':i.autograph} for i in user]},indent=4)
TypeError: <web.utils.IterBetter instance at 0x00000000033D8948> is not JSON serializable

Kod adalah seperti berikut:

@app.route('/p_statusnow',methods = ['GET','POST'])
def p_statusnow():
    a=request.values.get('page')
    print a
    b=request.values.get('rows')
    c=int(b)*(int(a)-1)
    #user=db.query('select * from dic_user limit ')
    user=db.select ('dic_user',offset=c,limit=b)
    total=db.query('select count(*) from dic_user')
    p_status_json = json.dumps({'total':total,'rows':[{'emp_sn':i.emp_sn,'name':i.name,'password':i.password,'emp_dept_sn':i.emp_dept_sn,'py_code':i.py_code,'wb_code':i.wb_code,'autograph':i.autograph} for i in user]},indent=4)
    #print p_status_json
    return p_status_json
天蓬老师天蓬老师2711 hari yang lalu664

membalas semua(3)saya akan balas

  • 仅有的幸福

    仅有的幸福2017-05-18 10:58:12

    Masalah ditemui, sebabnya bukan dalam json.dumps, tetapi dalam

    total=db.query('select count(*) from dic_user')

    Dalam ayat ini, melalui jumlah cetakan, output ditemui

    <web.utils.IterBetter instance at 0x00000000037D0888>

    Maksudnya, adalah tidak mungkin untuk mendapatkan jumlah bilangan rekod dengan cara ini. Saya menukar program dan memperuntukkan jumlah kepada:

        total=db.query('select count(*) as num from dic_user')
        for i in total:
            a=i.num
        p_status_json = json.dumps({'total':a,'rows':[{'emp_sn':i.emp_sn,'name':i.name,'password':i.password,'emp_dept_sn':i.emp_dept_sn,'py_code':i.py_code,'wb_code':i.wb_code,'autograph':i.autograph} for i in user]},indent=4)
        #print p_status_json
        return p_status_json

    Bekerja seperti biasa.

    balas
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-18 10:58:12

    from flask import jsonify
    ....
    
    
    def foo():
        return jsonify({'test':1})

    balas
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-18 10:58:12

    object 不能直接放到 json 格式里。会报错的。
    django 里,有提供 serialize 把对象序列化的方法。
    至于 flask Entahlah..

    balas
    0
  • Batalbalas