Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Django中将Http Post参数的Json值转换为Python Dict?_Python_Django_Json_Api_Foursquare - Fatal编程技术网

如何在Django中将Http Post参数的Json值转换为Python Dict?

如何在Django中将Http Post参数的Json值转换为Python Dict?,python,django,json,api,foursquare,Python,Django,Json,Api,Foursquare,我正在使用Django接收和处理来自foursquare实时api的推送通知。每个签入都作为POST请求推送到我的服务器,其中包含一个名为checkin的参数。我试图获取checkin参数的值并将其转换为python dict。但是,调用json.loads总是会导致以下错误: NameError: name 'true' is not defined 我知道json是有效的,所以我一定是做错了什么 代码是: import json def push(request): if re

我正在使用Django接收和处理来自foursquare实时api的推送通知。每个签入都作为POST请求推送到我的服务器,其中包含一个名为checkin的参数。我试图获取checkin参数的值并将其转换为python dict。但是,调用json.loads总是会导致以下错误:

NameError: name 'true' is not defined
我知道json是有效的,所以我一定是做错了什么

代码是:

import json    
def push(request):
  if request.is_secure():
    checkin_json = request.POST['checkin']
    checkin = json.load(request.POST)
职位申请的主体是:

"checkin = 
{
"id": "4e6fe1404b90c00032eeac34",
"createdAt": 1315955008,
"type": "checkin",
"timeZone": "America/New_York",
"user": {
    "id": "1",
    "firstName": "Jimmy",
    "lastName": "Foursquare",
    "photo": "https://foursquare.com/img/blank_boy.png",
    "gender": "male",
    "homeCity": "New York, NY",
    "relationship": "self"
},
"venue": {
    "id": "4ab7e57cf964a5205f7b20e3",
    "name": "foursquare HQ",
    "contact": {
        "twitter": "foursquare"
    },
    "location": {
        "address": "East Village",
        "lat": 40.72809214560253,
        "lng": -73.99112284183502,
        "city": "New York",
        "state": "NY",
        "postalCode": "10003",
        "country": "USA"
    },
    "categories": [
        {
            "id": "4bf58dd8d48988d125941735",
            "name": "Tech Startup",
            "pluralName": "Tech Startups",
            "shortName": "Tech Startup",
            "icon": "https://foursquare.com/img/categories/building/default.png",
            "parents": [
                "Professional & Other Places",
                "Offices"
            ],
            "primary": true
        }
    ],
    "verified": true,
    "stats": {
        "checkinsCount": 7313,
        "usersCount": 565,
        "tipCount": 128
    },
    "url": "http://foursquare.com"
}
}"

checkin=json.load(request.POST)
更改为
checkin=json.load(checkin\u json)
在python上,布尔值大写(第一个字母为大写):True/False

看看这个

编辑: 请注意以下几行:

"primary": true
    }
],
"verified": true,
两个“true”值都是小写的,需要大写

尝试
json.loads(checkin_json)
而不是
json.loads(request.POST)
。注意额外的“s”