从 None Python 提高 JSONDecodeError("Expecting value", s, err.value)
raise JSONDecodeError("Expecting value", s, err.value) from None Python
我有时会遇到这个问题。但它总是解决的。这一次不可能找到解决办法。同一主题有很多 post,但我的情况没有解决方案。
我正在尝试从我的 api 获取数据。它有时有效(对于没有 none 值的数据)并且对于包含 None 值的数据,它不起作用。我认为问题出在 none 值上。我有这个错误
Exception Type: JSONDecodeError
Exception Value:
Expecting value: line 1 column 75 (char 74)
感谢任何帮助。
@api_view(['GET'])
def edges_of_a_network(request, pk):
try:
roadnetwork = RoadNetwork.objects.get(pk=pk)
except RoadNetwork.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)
else:
edges = Edge.objects.filter(network=roadnetwork)
edges = str(list(edges.values("edge_id", "name",
"length", "speed", "lanes"))).replace("'",'"')
edges = json.loads(edges)
edges = json.dumps(edges, indent=2)
if request.method == 'GET':
return HttpResponse(edges, content_type="application/json")
截图
我终于找到了解决问题的方法。我添加这一行
edges = edges.replace('None', "null")
。我将 None values
替换为 null values
@api_view(['GET'])
def edges_of_a_network(request, pk):
try:
roadnetwork = RoadNetwork.objects.get(pk=pk)
except RoadNetwork.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)
else:
edges = Edge.objects.filter(network=roadnetwork)
edges = str(list(edges.values("edge_id", "name",
"length", "speed", "lanes"))).replace("'",'"')
edges = edges.replace('None', "null")
edges = json.loads(edges)
edges = json.dumps(edges, indent=2)
if request.method == 'GET':
return HttpResponse(edges, content_type="application/json")
我有时会遇到这个问题。但它总是解决的。这一次不可能找到解决办法。同一主题有很多 post,但我的情况没有解决方案。 我正在尝试从我的 api 获取数据。它有时有效(对于没有 none 值的数据)并且对于包含 None 值的数据,它不起作用。我认为问题出在 none 值上。我有这个错误
Exception Type: JSONDecodeError
Exception Value:
Expecting value: line 1 column 75 (char 74)
感谢任何帮助。
@api_view(['GET'])
def edges_of_a_network(request, pk):
try:
roadnetwork = RoadNetwork.objects.get(pk=pk)
except RoadNetwork.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)
else:
edges = Edge.objects.filter(network=roadnetwork)
edges = str(list(edges.values("edge_id", "name",
"length", "speed", "lanes"))).replace("'",'"')
edges = json.loads(edges)
edges = json.dumps(edges, indent=2)
if request.method == 'GET':
return HttpResponse(edges, content_type="application/json")
截图
我终于找到了解决问题的方法。我添加这一行
edges = edges.replace('None', "null")
。我将 None values
替换为 null values
@api_view(['GET'])
def edges_of_a_network(request, pk):
try:
roadnetwork = RoadNetwork.objects.get(pk=pk)
except RoadNetwork.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)
else:
edges = Edge.objects.filter(network=roadnetwork)
edges = str(list(edges.values("edge_id", "name",
"length", "speed", "lanes"))).replace("'",'"')
edges = edges.replace('None', "null")
edges = json.loads(edges)
edges = json.dumps(edges, indent=2)
if request.method == 'GET':
return HttpResponse(edges, content_type="application/json")