Q:

Consumiendo un api Django Rest Framework desde una aplicación Unity Csharp

He serializado mi modelo de usuarios en DJango para tener una pequeña API
en donde tengo el siguiente objeto JSON
{
    "url": "https://neurorehabilitacion.herokuapp.com/api/users/pablo/",
    "username": "pablo",
    "password": "pbkdf2_sha256$24000$K7lhsSs6Y3ux$NZ+PqAm9Wuzo168Lw4eW0IqycqnmY3BIVFDfj8TSaxM=",
    "first_name": "Pablo Andres",
    "last_name": "Agudelo Marenco",
    "birth_date": "1983-07-20",
    "address": "Calle 40 D Sur No. 32B 21",
    "phone": "31248122992453",
    "occupation": "Ingeniero de Sistemas",
    "email": "de@de.org",
    "photo": "https://neurorehabilitation-project.s3.amazonaws.com/media/avatars/boy.png",
    "age": 33,
    "sex": "Masculino",
    "ethnic_group": "Americano",
    "country_of_birth": "COL",
    "communication_language": [
        "Español",
        "Inglés"
    ],
    "is_medical": false,
    "is_therapist": false,
    "is_patient": true,
    "is_staff": true,
    "is_active": true,
    "is_superuser": false,
    "date_joined": "2016-05-17T12:54:54Z",
    "last_login": null
}

Desde mi aplicación Unity C# estoy consumiendo estos datos de usuario en JSON a través de esta sección de código:
//This methods loads the information of the client and validates if it is correct.
        private IEnumerator LoadInfo() {

            string inputFieldName = userInputName.text;
            string password = userPassword.text;
            if (inputFieldName != "")
            {
                urlUsuario(inputFieldName);
                WWW info = new WWW(url);
                yield return info;

                try
                {
                    jsonString = info.text;

                    Debug.Log(url);

                    Debug.Log(jsonString);

                    itemData = JsonMapper.ToObject(jsonString);
                    string jsonName = (string)itemData[0]["username"];

                    if ((jsonName.ToString() == inputFieldName))
                    {
                        string nameJson = (string)itemData[0]["username"];
                        userName.text = nameJson;
                        string picUrl = (string)itemData[0]["avatar"];
                        LoginMenu.enabled = false;
                        InitialMenu.enabled = true;
                        StartCoroutine(loadProfilePic(picUrl));
                    }
                } catch (Exception e) {
                    ErrorMenuConnection();
                    e.ToString();
                    Debug.Log("Failed Connection");
                    Debug.Log(jsonString);
                }

            }
            else
            {
                ErrorMenu();
            }

        }

Pero obtengo este mensaje

Básicamente lo que deseo es acceder a los diferentes campos del documento JSON tales como username, password y otros:
Antes tenia una lista o arreglo de un documento JSON  como esta:
[{"last_name": "Agudelo Marenco",  "slug": "pablo",  "first_name": "Pablo Andres", "username": "pablo", "password": "+FtK7BfBFec="}]

Y el consumir los datos funcionaba.
Pero en mi actual implementación de RESTFramework JSON que mostré antes no trabaja adecuadamente.
Una de las cosas es que en el JSON que esta dentro de una lista (en donde me funcionaba), ahí pregunto si en la posición 0 de esa lista existe un atributo username y si coincide lo traiga, pero esta vez el match no se efectua y entonces no se establece conexión y mi intento de consumir datos no funciona.
Cualquier ayuda será apreciada.

A:

Te sobra un acceso al JSON:
string jsonName = (string)itemData[0]["username"];

Esa línea te está lanzando una Exception que se recoge en el try-catch y tu registro dice Failed Connection. El índice 0 de itemData es username, y dentro de username no hay nada, pero tú buscas un elemento con la propiedad username y salta el Exception.
Lo correcto es: 
string jsonName = (string)itemData["username"];

... y así con todas las demás.

