0

Dans Android 2.1 ceJSONObject.toString() donne un résultat différent de 2,2 que dans 2.1 (.Net Format de date)

JSONObject o = new JSONObject(); 
o.put("MyDate", "/Date(1289334937639)/"); 
Log.d(TAG, o.toString()); 

produit

{"MyDate":"/Date(1289334937639)/"} 

mais il produit 2.2

{"MyDate":"\/Date(1289334937639)\/"} 

Je parle à un service Web .Net afin que la version 2.2 fonctionne correctement pour moi. Comment puis-je faire 2.1 produire la même chose sans casser 2.2?

Merci pour votre aide.

Répondre

0

J'ai fini avec les éléments suivants:

if (Build.VERSION.SDK_INT == 7) { 
    params = params.replaceAll("/", "\\\\/"); 
} 

où params est le JSON déjà converti en une chaîne. Laid, mais ça marche.

0

Obtenez la dernière version de JSON de http://www.json.org/java/ et l'intégrer à votre code. Vous avez juste besoin de changer vos importations, je suppose.

+0

Merci pour la suggestion. Je pense avoir la dernière version de json en eclipse, mais on dirait que l'émulateur 2.1 (et je l'ai confirmé sur un droïde motorola tournant en 2.1) utilise une version différente de l'émulateur 2.2. Autrement dit, le même code (mêmes importations) produit deux résultats différents en fonction de la version d'Android. Puis-je forcer l'émulateur/périphérique à utiliser la version de json que je veux utiliser? –