Tengo una fecha de caducidad en formato JSON y quiero obtener esta fecha de caducidad en la variable de cadena, ¿qué debo hacer? Fecha de vencimiento de la clase pública {

    public String getExpiryDate() throws ParseException, IOException{

        String expiryDateString = "{'expire_on':'Aug 05, 2016'}";

        JSONParser jsonParser = new JSONParser();

        Object obj = jsonParser.parse(expiryDateString);

        JSONObject jsonObject = (JSONObject) obj;

        System.out.println(jsonObject);

        return "";
    }

}

Estoy pasando estos datos JSON pero en la línea de creación de objetos obtuve esta excepción

Unexpected character (') at position 1.
    at org.json.simple.parser.Yylex.yylex(Unknown Source)
    at org.json.simple.parser.JSONParser.nextToken(Unknown Source)
    at org.json.simple.parser.JSONParser.parse(Unknown Source)
    at org.json.simple.parser.JSONParser.parse(Unknown Source)
    at org.json.simple.parser.JSONParser.parse(Unknown Source)
    at onbording.ExpiryDate.getExpiryDate(ExpiryDate.java:25)
    at onbording.Sendmail.handleRequest(Sendmail.java:57)
    at example.sendmailTest.testsendemail(sendmailTest.java:44)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2
Vipul 25 jul. 2016 a las 12:08

2 respuestas

La mejor respuesta

No puede utilizar comillas simples.

Probablemente estés usando Java. Le sugiero que utilice JSONObject.

JSONObject jsonObject = new JSONObject();
jsonObject.put("expire_on", "Aug 05, 2016");
String expiryDateString = jsonObject.toString();

Por lo general, es una mejor práctica manejar JSON de esta manera que crear una cadena JSON manualmente.

Otra opción es utilizar comillas dobles de escape.

String expiryDateString = "{\"expire_on\":\"Aug 05, 2016\"}";  
1
Krzysztof Atłasik 7 mar. 2019 a las 00:12

No conozco la API, pero por lo que parece, debes escapar de tus 'personajes ...

En una búsqueda rápida en Google encontré esto: http: // www.programcreek.com/java-api-examples/org.json.simple.parser.JSONParser

El código en el enlace básicamente le dice que use \ "en lugar de 'en su String y su JSONParser debería entenderlo. Espero que esto ayude.

1
mind_ 25 jul. 2016 a las 09:15