相关疑难解决方法(0)

Python JSON序列化一个Decimal对象

我有一个Decimal('3.9')对象的一部分,并希望将其编码为一个看起来像的JSON字符串{'x': 3.9}.我不关心客户端的精度,所以浮动很好.

是否有一种很好的方法来序列化这个?JSONDecoder不接受Decimal对象,并且事先转换为float会产生{'x': 3.8999999999999999}错误,并且会大大浪费带宽.

python floating-point json decimal

207
推荐指数
12
解决办法
17万
查看次数

Python将mysql查询结果转换为json

我正在尝试实现REST API,其中一部分是将数据格式化为json.我能够从mysql数据库中检索数据,但是我收到的对象并不是我所期望的.这是我的代码

from flask import Flask
from flask.ext.mysqldb import MySQL

app = Flask(__name__)
app.config['MYSQL_HOST'] = '127.0.0.1'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = 'password'
app.config['MYSQL_DB'] = 'hello_db'
mysql = MySQL(app)

@app.route('/hello')
def index():
   cur = mysql.connection.cursor()
   cur.execute('''SELECT * FROM Users WHERE id=1''')
   rv = cur.fetchall()
   return str(rv)

if __name__ == '__main__':
   app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)

结果:

((1L, u'my_username', u'my_password'),)
Run Code Online (Sandbox Code Playgroud)

我如何实现返回这样的json格式:

{
 "id":1, 
 "username":"my_username", 
 "password":"my_password"
}
Run Code Online (Sandbox Code Playgroud)

python mysql json

11
推荐指数
3
解决办法
2万
查看次数

标签 统计

json ×2

python ×2

decimal ×1

floating-point ×1

mysql ×1