从Django Rest Framework中的Json String中删除反斜杠

时间:2018-01-16 07:11:58

标签: python json django-rest-framework

dct_data = json_tour_data.__dict__
tour_data = json.dumps(dct_data)

如何从 json 中删除这些反斜杠?这是我的输出:

"{\"strFileOpenDateAjxKey\": \"2018-01-16 12:40:22.526417\", 
\"strFilePassengerAjxKey\": \"Zahra Walji\", \"strFileOpenMobileAjxKey\": 
\"46464664\", \"strFileOpenDepartmentAjxKey\": \"Finance department\", 
\"strFileOpenAccountCodeAjxKey\": \"CARTZS\", 
\"strFileOpenProfileCodeAjxKey\": \"CARTZS\", 
\"strFileopenOriginalCountryIdAjxKey\": 61, \"blnBoundAjxKey\": 1, 
\"strTransactionCurrencyJsKey\": \"Shillings\", 
\"intCurrencyPrecisionJsKey\": 3, \"strPackageTypeJsKey\": \"PKG\", 
\"strUserNameAjxKey\": \"admin\", \"strPasswordAjxKey\": \"1234\"}"

4 个答案:

答案 0 :(得分:0)

您可以使用replace("\'", '"')

     json = '''{\"strFileOpenDateAjxKey\": \"2018-01-16 12:40:22.526417\", 
      \"strFilePassengerAjxKey\": \"Zahra Walji\", \"strFileOpenMobileAjxKey\": 
      \"46464664\", \"strFileOpenDepartmentAjxKey\": \"Finance department\", 
      \"strFileOpenAccountCodeAjxKey\": \"CARTZS\", 
      \"strFileOpenProfileCodeAjxKey\": \"CARTZS\", 
      \"strFileopenOriginalCountryIdAjxKey\": 61, \"blnBoundAjxKey\": 1, 
      \"strTransactionCurrencyJsKey\": \"Shillings\", 
      \"intCurrencyPrecisionJsKey\": 3, \"strPackageTypeJsKey\": \"PKG\", 
      \"strUserNameAjxKey\": \"admin\", \"strPasswordAjxKey\": \"1234\"}'''
newString = json.replace("\'", '"')
print(newString)

here

查看

这是按下我身边跑步时的输出。 output

答案 1 :(得分:0)

我建议检查您的Response对象,以在您的视图中解析tour_data变量/字典。我本来和您有同样的问题,但这就是我所更改的内容。

原始实现:Response(json.dumps(a_dictionary), status=status.HTTP_200_OK)

新实现:Response(a_dictionary, status=status.HTTP_200_OK, content_type='json')

这里的关键是: 1.摆脱json.dumps转换方法,只需通过简单的python字典即可,例如参见a_dictionary。 2.在[Response]对象上设置content_type='json'

答案 2 :(得分:0)

答案是您只需要玩json.dumps()json.loads()

以下是我的有效代码:-

import json
json_data = {'key1': 'first'}
json_data = json.dumps(json_data)
return {
    'statusCode': 200,
    'schools':  json.loads(json_data)
}

以上代码的输出如下:

Response:
{
  "schools": {
    "key1": "first"
  },
  "statusCode": 200
}

答案 3 :(得分:0)

致可能面临此问题的任何其他人。

简单地说: 最初的问题似乎是获取 JSON 数据(我强调,它已经是 JSON)并再次将其渲染为 JSON。

dct_data = json_tour_data.dict

tour_data = json.dumps(dct_data)