Autore Topic: Creare un file Json ed inviarlo ad un server  (Letto 370 volte)

Offline Raffyna

  • Utente junior
  • **
  • Post: 104
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc wildfire
  • Sistema operativo:
    seven
Creare un file Json ed inviarlo ad un server
« il: 08 Maggio 2015, 14:28:34 CEST »
0
Salve,
sto sviluppando un'applicazione che necessita di inviare dati ad un server.
La comunicazione avverrà utilizzando il parser Json, ed è proprio questo a causarmi un problema.
Devo far in modo da creare un oggetto Json Così fatto :
Codice: [Seleziona]


{
        "tag": "user",
        "type": "insert",
        "user": {
                "name": "NomeTest",
                "surname": "CognomeTest",
                "matr": "MatriolTest",
                "email": "EmailTest",
                "phone": "000000",
                "pwd": "abcdefgh",
                "admin": 1               
        }
}

Ho provato a creare l'Oggetto Json nel seguente modo :
Codice: [Seleziona]

SONObject parent = new JSONObject();
             JSONObject header = new JSONObject();
             
         JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", "nomeTest");
        jsonObject.put("surname", "CognomeTest");
        jsonObject.put("matr", "Matr");
        jsonObject.put("email", "test");
        jsonObject.put("phone", "123456");
        jsonObject.put("pwd", "password");
        jsonObject.put("admin", "1");
         
                 header.put("tag", "user");
                 header.put("type", "insert");
                 
                 parent.put("",header);
                 parent.put("user", jsonObject);

ma ho 2 problemi :
 1 ) l'oggetto JSON che creo non corrisponde a quello predefinito [ ovvero quello che ho postato inizialmente];
2 ) quando provo a connettermi al server :
Codice: [Seleziona]
DefaultHttpClient httpClient = new DefaultHttpClient();
                        HttpPost httpPost = new HttpPost(url);
                        httpPost.setEntity(new UrlEncodedFormEntity(parametri));

                       
                        HttpResponse httpResponse = httpClient.execute(httpPost);
                       
                        HttpEntity httpEntity = httpResponse.getEntity();
                       
                        is = httpEntity.getContent();


la stringa
httpPost.setEntity(new UrlEncodedFormEntity(parametri));
si aspetta un oggetto di tipo List<NameValuePair>;

Potreste darmi una mano ?
Grazie

Offline felasandroid

  • Utente normale
  • ***
  • Post: 345
  • Respect: +10
    • Github
    • balduzziantonio
    • balduzziantonio.unifi
    • Mostra profilo
  • Dispositivo Android:
    Huawei P8 Lite
  • Play Store ID:
    FelasTech
  • Sistema operativo:
    Windows 10
Re:Creare un file Json ed inviarlo ad un server
« Risposta #1 il: 08 Maggio 2015, 14:40:37 CEST »
0
Se provi a creare il Json così:

Codice (Java): [Seleziona]
 HashMap<String, String> params = new HashMap<String, String>();
            params.put("url", mUrlNews);
            params.put("titolo", mTitolo);
            params.put("sottotitolo", mSottotitolo);

new JSONObject(params);

...