我的mysql数据库中有一个对象(或字符串?我不确定..),我想在视图中将其转回python字典,然后处理它然后发送回html。
所以这是我在views.py中的代码:
def measure_detail(request, measurement_id):
_ClickedPts = ClickedPts.objects.get(measurement=measurement_id)
_ClickedPts = json.loads(_ClickedPts)
return render(request, 'measurement_detail.html', {'measurement': _measurement, 'clicked_pts': _ClickedPts})
_clickedPts看起来像这样:
{0:{u' loc':[1,2],u' pts':[[456.45631334215614,1155.23758883418],[1087.2590986710893,1175.6156203824098]],u' imsize& #39;:(3264,2448)},9:{u' loc':[1,2],u' pts':[[838.4383679397915,1183.738210969312],[1751.0879501479042,1179.0747927841176] ],u' imsize':(3264,2448)},28:{u' loc':[1,2],u' pts':[[1544.854017880959,1041.081669022464 ],[2262.6099907645976,1044.953878976804]],你' imsize':(3264,2448)},14:{u' loc':[1,2],u' pts&#39 ;:[[1122.5721676687076,1211.5634319190933],[2053.740361759838,1221.0344281491446]],u' imsize':(3264,2448)},15:{u' loc':[1,2],你':[[1037.1904375418785,11667029567967],[1959.451782586886,1190.2974020603272]],你' imsize':(3264,2448)}}
答案 0 :(得分:1)
你的字符串不是一个合适的JSON字符串,实际上看起来像一个Python JSON对象。最好使用ast.literal_eval将此字符串转换为Python JSON对象。只需调用ast.literal_val(_ClickedPts)而不是json.loads(_ClickedPts)来获得你想要的东西。
答案 1 :(得分:0)
以下代码有效:
test = ClickedPts.objects.values('pts')
test = test[0]['pts']
test = ast.literal_eval(test)
#print type(test)
#print test