예제 #1
1
 @Override
 public Movie readFrom(
     Class<Movie> type,
     Type type1,
     Annotation[] antns,
     MediaType mt,
     MultivaluedMap<String, String> mm,
     InputStream in)
     throws IOException, WebApplicationException {
   Movie movie = new Movie();
   JsonParser parser = Json.createParser(in);
   while (parser.hasNext()) {
     switch (parser.next()) {
       case KEY_NAME:
         String key = parser.getString();
         parser.next();
         switch (key) {
           case "id":
             movie.setId(parser.getInt());
             break;
           case "name":
             movie.setName(parser.getString());
             break;
           case "actors":
             movie.setActors(parser.getString());
             break;
           default:
             break;
         }
         break;
       default:
         break;
     }
   }
   return movie;
 }
예제 #2
0
  /**
   * Populates query tags list from given JSON string. All unknown tags are ignored.
   *
   * @param jsonData the string with JSON data
   * @throws Exception if JSON creation error occurs
   */
  public void populateFromJson(String jsonData) throws TagsListParsingException {
    try (JsonParser parser = Json.createParser(new StringReader(jsonData))) {
      String key = null;
      while (parser.hasNext()) {
        JsonParser.Event event = parser.next();
        switch (event) {
          case KEY_NAME:
            key = parser.getString();
            break;

          case VALUE_NUMBER:
            tags.add(new QueryTag(key, parser.getInt()));
            break;

          case START_OBJECT:
          case END_OBJECT:
            break;

          default:
            logger.log(Level.SEVERE, "Unsupported tag passed in JSON string: " + jsonData);
            break;
        }
      }
    } catch (Exception e) {
      logger.log(Level.SEVERE, "Error happen while parsing JSON string: " + jsonData, e);
      throw new TagsListParsingException("Unable to decode tags list from URL", e);
    }
  }
예제 #3
0
 /** main */
 public static void main(String[] args) {
   String personJSONData =
       "  {"
           + "       \"name\": \"John\", "
           + "       \"age\" : 35, "
           + "       \"isMarried\" : true, "
           + "       \"email\": null, "
           + "       \"address\": { "
           + "           \"street\": \"#234, Pembroke Road\", "
           + "           \"city\": \"Dublin\", "
           + "           \"zipCode\": \"D4\" "
           + "       }, "
           + "       \"phoneNumbers\": [\"89-923-2342\", \"89-213-2364\"] "
           + "   }";
   JsonParser parser = Json.createParser(new StringReader(personJSONData));
   while (parser.hasNext()) {
     Event event = parser.next();
     switch (event) {
       case START_OBJECT:
         System.out.print("{/*" + event + "*/ ");
         break;
       case END_OBJECT:
         System.out.print("}/*" + event + "*/ ");
         break;
       case START_ARRAY:
         System.out.print("[/*" + event + "*/ ");
         break;
       case END_ARRAY:
         System.out.print("]/*" + event + "*/ ");
         break;
       case VALUE_NUMBER:
         System.out.print(parser.getInt() + "/*" + event + "*/, ");
         break;
       case VALUE_STRING:
         System.out.print(parser.getString() + "/*" + event + "*/, ");
         break;
       case VALUE_TRUE:
         System.out.print("true/*" + event + "*/, ");
         break;
       case VALUE_FALSE:
         System.out.print("false/*" + event + "*/, ");
         break;
       case VALUE_NULL:
         System.out.print("null/*" + event + "*/, ");
         break;
       case KEY_NAME:
         System.out.print(parser.getString() + "/*" + event + "*/: ");
         break;
       default:
         System.out.print("Unrecognized Event : ");
     }
   }
 }