Example usage for com.fasterxml.jackson.core JsonGenerator writeEndObject

List of usage examples for com.fasterxml.jackson.core JsonGenerator writeEndObject

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonGenerator writeEndObject.

Prototype

public abstract void writeEndObject() throws IOException, JsonGenerationException;

Source Link

Document

Method for writing closing marker of a JSON Object value (character '}'; plus possible white space decoration if pretty-printing is enabled).

Usage

From source file:Service.java

public static void main(String[] args) {

    StringWriter sw = new StringWriter();
    try {/*from  ww  w .  j a v a2 s.  c  o  m*/
        JsonGenerator g = factory.createGenerator(sw);
        g.writeStartObject();
        g.writeNumberField("code", 200);
        g.writeArrayFieldStart("languages");
        for (Language l : Languages.get()) {
            g.writeStartObject();
            g.writeStringField("name", l.getName());
            g.writeStringField("locale", l.getLocaleWithCountryAndVariant().toString());
            g.writeEndObject();
        }
        g.writeEndArray();
        g.writeEndObject();
        g.flush();
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
    String languagesResponse = sw.toString();

    String errorResponse = codeResponse(500);
    String okResponse = codeResponse(200);

    Scanner sc = new Scanner(System.in);
    while (sc.hasNextLine()) {
        try {
            String line = sc.nextLine();
            JsonParser p = factory.createParser(line);
            String cmd = "";
            String text = "";
            String language = "";
            while (p.nextToken() != JsonToken.END_OBJECT) {
                String name = p.getCurrentName();
                if ("command".equals(name)) {
                    p.nextToken();
                    cmd = p.getText();
                }
                if ("text".equals(name)) {
                    p.nextToken();
                    text = p.getText();
                }
                if ("language".equals(name)) {
                    p.nextToken();
                    language = p.getText();
                }
            }
            p.close();

            if ("check".equals(cmd)) {
                sw = new StringWriter();
                JsonGenerator g = factory.createGenerator(sw);
                g.writeStartObject();
                g.writeNumberField("code", 200);
                g.writeArrayFieldStart("matches");
                for (RuleMatch match : new JLanguageTool(Languages.getLanguageForShortName(language))
                        .check(text)) {
                    g.writeStartObject();

                    g.writeNumberField("offset", match.getFromPos());

                    g.writeNumberField("length", match.getToPos() - match.getFromPos());

                    g.writeStringField("message", substituteSuggestion(match.getMessage()));

                    if (match.getShortMessage() != null) {
                        g.writeStringField("shortMessage", substituteSuggestion(match.getShortMessage()));
                    }

                    g.writeArrayFieldStart("replacements");
                    for (String replacement : match.getSuggestedReplacements()) {
                        g.writeString(replacement);
                    }
                    g.writeEndArray();

                    Rule rule = match.getRule();

                    g.writeStringField("ruleId", rule.getId());

                    if (rule instanceof AbstractPatternRule) {
                        String subId = ((AbstractPatternRule) rule).getSubId();
                        if (subId != null) {
                            g.writeStringField("ruleSubId", subId);
                        }
                    }

                    g.writeStringField("ruleDescription", rule.getDescription());

                    g.writeStringField("ruleIssueType", rule.getLocQualityIssueType().toString());

                    if (rule.getUrl() != null) {
                        g.writeArrayFieldStart("ruleUrls");
                        g.writeString(rule.getUrl().toString());
                        g.writeEndArray();
                    }

                    Category category = rule.getCategory();
                    CategoryId catId = category.getId();
                    if (catId != null) {
                        g.writeStringField("ruleCategoryId", catId.toString());

                        g.writeStringField("ruleCategoryName", category.getName());
                    }

                    g.writeEndObject();
                }
                g.writeEndArray();
                g.writeEndObject();
                g.flush();
                System.out.println(sw.toString());
            } else if ("languages".equals(cmd)) {
                System.out.println(languagesResponse);
            } else if ("quit".equals(cmd)) {
                System.out.println(okResponse);
                return;
            } else {
                System.out.println(errorResponse);
            }
        } catch (Exception e) {
            System.out.println(errorResponse);
        }
    }
}

From source file:edu.usd.btl.ontology.WriteTree.java

public static void main(String[] args) {

    try {// w w w  . j a  va2s. c om

        JsonFactory jfactory = new JsonFactory();

        /**
         * * write to file **
         */
        JsonGenerator jGenerator = jfactory.createJsonGenerator(
                new File("C:\\Users\\Tyler\\Documents\\GitHub\\BTL\\src\\user.json"), JsonEncoding.UTF8);
        jGenerator.writeStartObject(); // {

        jGenerator.writeStringField("name", "mkyong"); // "name" : "mkyong"
        jGenerator.writeNumberField("age", 29); // "age" : 29

        jGenerator.writeFieldName("messages"); // "messages" :
        jGenerator.writeStartArray(); // [

        jGenerator.writeString("msg 4134134"); // "msg 1"
        jGenerator.writeString("msg 2"); // "msg 2"
        jGenerator.writeString("msg 3"); // "msg 3"

        jGenerator.writeEndArray(); // ]

        jGenerator.writeEndObject(); // }

        jGenerator.close();

    } catch (JsonGenerationException e) {

        e.printStackTrace();

    } catch (JsonMappingException e) {

        e.printStackTrace();

    } catch (IOException e) {

        e.printStackTrace();

    }

}

From source file:org.apache.flink.benchmark.Runner.java

public static void main(String[] args) throws Exception {
    final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
    env.getConfig().enableObjectReuse();
    env.getConfig().disableSysoutLogging();

    ParameterTool parameters = ParameterTool.fromArgs(args);

    if (!(parameters.has("p") && parameters.has("types") && parameters.has("algorithms"))) {
        printUsage();/*ww  w .ja  v a 2  s.c o m*/
        System.exit(-1);
    }

    int parallelism = parameters.getInt("p");
    env.setParallelism(parallelism);

    Set<IdType> types = new HashSet<>();

    if (parameters.get("types").equals("all")) {
        types.add(IdType.INT);
        types.add(IdType.LONG);
        types.add(IdType.STRING);
    } else {
        for (String type : parameters.get("types").split(",")) {
            if (type.toLowerCase().equals("int")) {
                types.add(IdType.INT);
            } else if (type.toLowerCase().equals("long")) {
                types.add(IdType.LONG);
            } else if (type.toLowerCase().equals("string")) {
                types.add(IdType.STRING);
            } else {
                printUsage();
                throw new RuntimeException("Unknown type: " + type);
            }
        }
    }

    Queue<RunnerWithScore> queue = new PriorityQueue<>();

    if (parameters.get("algorithms").equals("all")) {
        for (Map.Entry<String, Class> entry : AVAILABLE_ALGORITHMS.entrySet()) {
            for (IdType type : types) {
                AlgorithmRunner runner = (AlgorithmRunner) entry.getValue().newInstance();
                runner.initialize(type, SAMPLES, parallelism);
                runner.warmup(env);
                queue.add(new RunnerWithScore(runner, 1.0));
            }
        }
    } else {
        for (String algorithm : parameters.get("algorithms").split(",")) {
            double ratio = 1.0;
            if (algorithm.contains("=")) {
                String[] split = algorithm.split("=");
                algorithm = split[0];
                ratio = Double.parseDouble(split[1]);
            }

            if (AVAILABLE_ALGORITHMS.containsKey(algorithm.toLowerCase())) {
                Class clazz = AVAILABLE_ALGORITHMS.get(algorithm.toLowerCase());

                for (IdType type : types) {
                    AlgorithmRunner runner = (AlgorithmRunner) clazz.newInstance();
                    runner.initialize(type, SAMPLES, parallelism);
                    runner.warmup(env);
                    queue.add(new RunnerWithScore(runner, ratio));
                }
            } else {
                printUsage();
                throw new RuntimeException("Unknown algorithm: " + algorithm);
            }
        }
    }

    JsonFactory factory = new JsonFactory();

    while (queue.size() > 0) {
        RunnerWithScore current = queue.poll();
        AlgorithmRunner runner = current.getRunner();

        StringWriter writer = new StringWriter();
        JsonGenerator gen = factory.createGenerator(writer);
        gen.writeStartObject();
        gen.writeStringField("algorithm", runner.getClass().getSimpleName());

        boolean running = true;

        while (running) {
            try {
                runner.run(env, gen);
                running = false;
            } catch (ProgramInvocationException e) {
                // only suppress job cancellations
                if (!(e.getCause() instanceof JobCancellationException)) {
                    throw e;
                }
            }
        }

        JobExecutionResult result = env.getLastJobExecutionResult();

        long runtime_ms = result.getNetRuntime();
        gen.writeNumberField("runtime_ms", runtime_ms);
        current.credit(runtime_ms);

        if (!runner.finished()) {
            queue.add(current);
        }

        gen.writeObjectFieldStart("accumulators");
        for (Map.Entry<String, Object> accumulatorResult : result.getAllAccumulatorResults().entrySet()) {
            gen.writeStringField(accumulatorResult.getKey(), accumulatorResult.getValue().toString());
        }
        gen.writeEndObject();

        gen.writeEndObject();
        gen.close();
        System.out.println(writer.toString());
    }
}

From source file:org.datagator.tools.importer.Main.java

public static void main(String[] args) throws IOException {

    int columnHeaders = 0; // cli input
    int rowHeaders = 0; // cli input

    try {// w w  w  . j  a v a2s.c  o m
        CommandLine cmds = parser.parse(opts, args);
        if (cmds.hasOption("filter")) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
        if (cmds.hasOption("layout")) {
            String[] layout = cmds.getOptionValues("layout");
            if ((layout == null) || (layout.length != 2)) {
                throw new IllegalArgumentException("Bad layout.");
            }
            try {
                columnHeaders = Integer.valueOf(layout[0]);
                rowHeaders = Integer.valueOf(layout[1]);
                if ((columnHeaders < 0) || (rowHeaders < 0)) {
                    throw new IllegalArgumentException("Bad layout.");
                }
            } catch (NumberFormatException ex) {
                throw new IllegalArgumentException(ex);
            }
        }
        if (cmds.hasOption("help")) {
            help.printHelp("importer", opts, true);
            System.exit(EX_OK);
        }
        // positional arguments, i.e., input file name(s)
        args = cmds.getArgs();
    } catch (ParseException ex) {
        throw new IllegalArgumentException(ex);
    } catch (IllegalArgumentException ex) {
        help.printHelp("importer", opts, true);
        throw ex;
    }

    JsonGenerator jg = json.createGenerator(System.out, JsonEncoding.UTF8);
    jg.setPrettyPrinter(new StandardPrinter());

    final Extractor extractor;

    if (args.length == 1) {
        extractor = new FileExtractor(new File(args[0]));
    } else if (args.length > 1) {
        throw new UnsupportedOperationException("Not supported yet.");
    } else {
        throw new IllegalArgumentException("Missing input.");
    }

    int columnsCount = -1;
    int matrixCount = 0;

    ArrayDeque<String> stack = new ArrayDeque<String>();

    AtomType token = extractor.nextAtom();
    while (token != null) {
        switch (token) {
        case FLOAT:
        case INTEGER:
        case STRING:
        case NULL:
            jg.writeObject(extractor.getCurrentAtomData());
            break;
        case START_RECORD:
            jg.writeStartArray();
            break;
        case END_RECORD:
            int _numFields = (Integer) extractor.getCurrentAtomData();
            if (columnsCount < 0) {
                columnsCount = _numFields;
            } else if (columnsCount != _numFields) {
                throw new RuntimeException(String.format("row %s has different length than previous rows",
                        String.valueOf(_numFields - 1)));
            }
            jg.writeEndArray();
            break;
        case START_GROUP:
            stack.push(String.valueOf(extractor.getCurrentAtomData()));
            jg.writeStartObject();
            jg.writeStringField("kind", "datagator#Matrix");
            jg.writeNumberField("columnHeaders", columnHeaders);
            jg.writeNumberField("rowHeaders", rowHeaders);
            jg.writeFieldName("rows");
            jg.writeStartArray();
            break;
        case END_GROUP:
            int rowsCount = (Integer) extractor.getCurrentAtomData();
            if (rowsCount == 0) {
                jg.writeStartArray();
                jg.writeEndArray();
                rowsCount = 1;
                columnsCount = 0;
            }
            jg.writeEndArray();
            jg.writeNumberField("rowsCount", rowsCount);
            jg.writeNumberField("columnsCount", columnsCount);
            jg.writeEndObject();
            matrixCount += 1;
            stack.pop();
            break;
        default:
            break;
        }
        token = extractor.nextAtom();
    }

    jg.close();

    System.exit(EX_OK);
}

From source file:GetAppInfo.java

/**
 * @param args/*from   w  ww  . j  ava  2 s  . c  om*/
 */
public static void main(String[] args) {
    if (args.length != 4) {
        System.out.println("Usage :\n" + "java -jar this_jar_name confpath query_str startIndex numbers");
        System.exit(1);
    }
    String confpath = args[0];
    GetAppConfig conf = new GetAppConfig(confpath);
    String email = conf.getUserID();
    String password = conf.getPassword();
    String query = args[1];
    final int startIndex = Integer.parseInt(args[2]);
    final int numbers = Integer.parseInt(args[3]);
    String androidid = conf.getDeviceID();

    if (email.equals("")) {
        System.out.println("Error: Failed to get UserID.");
        System.exit(2);
    } else if (password.equals("")) {
        System.out.println("Error: Failed to get Password.");
        System.exit(3);
    } else if (androidid.equals("")) {
        System.out.println("Error: Failed to get DeviceID.");
        System.exit(4);
    }

    System.out.println("query: " + query);
    MarketSession session = new MarketSession();
    session.getContext().setAndroidId(androidid);

    Locale locale = new Locale("ja", "JP");
    session.setLocale(locale);
    session.setOperator("NTT DOCOMO", "44010");
    session.getContext().setDeviceAndSdkVersion("passion:8");

    try {
        session.login(email, password, androidid);
    } catch (Exception e) {
        System.out.println("Error: failed to login.: " + e.getMessage());
        System.exit(1);
    }

    AppsRequest appsRequest = AppsRequest.newBuilder().setQuery(query).setStartIndex(startIndex)
            .setEntriesCount(numbers).setWithExtendedInfo(true).build();

    Callback<AppsResponse> callback = new Callback<AppsResponse>() {
        @Override
        public void onResult(ResponseContext context, AppsResponse response) {
            int totalcnt, cnt;
            JsonFactory factory = new JsonFactory();
            try {
                JsonGenerator generator = factory.createGenerator(new FileWriter(new File("pkginfo.json")));
                generator.writeStartObject();
                //generator.setRootValueSeparator(new SerializedString("\n"));

                if (response != null) {
                    totalcnt = response.getEntriesCount();
                    cnt = response.getAppCount();
                    System.out.println("startIndex = " + startIndex);
                    System.out.println("entriesCount = " + numbers);
                    System.out.println("totalcount = " + totalcnt);
                    System.out.println("count = " + cnt);
                    generator.writeNumberField("startIndex", startIndex);
                    generator.writeNumberField("entriesCount", numbers);
                    generator.writeNumberField("total", totalcnt);
                    generator.writeNumberField("count", cnt);
                    generator.writeRaw("\n");
                } else {
                    cnt = -1;
                }
                generator.writeFieldName("dataset");
                generator.writeStartArray();

                if (cnt > 0) {
                    for (int i = 0; ((i < cnt) && (i < numbers)); i++) {
                        generator.writeStartObject();
                        generator.writeNumberField("num", i + startIndex);
                        System.out.println(
                                "------------------------------------------------------------------------------------");
                        int counter = i + startIndex;
                        System.out.println(counter + ":");
                        System.out.println(
                                "------------------------------------------------------------------------------------");
                        generator.writeStringField("title", response.getApp(i).getTitle());
                        generator.writeStringField("appType", "" + response.getApp(i).getAppType());
                        generator.writeStringField("category",
                                response.getApp(i).getExtendedInfo().getCategory());
                        generator.writeStringField("rating", response.getApp(i).getRating());
                        generator.writeNumberField("ratingCount", response.getApp(i).getRatingsCount());
                        generator.writeStringField("countText",
                                response.getApp(i).getExtendedInfo().getDownloadsCountText());
                        generator.writeStringField("creatorId", response.getApp(i).getCreatorId());
                        generator.writeStringField("id", response.getApp(i).getId());
                        generator.writeStringField("packageName", response.getApp(i).getPackageName());
                        generator.writeStringField("version", response.getApp(i).getVersion());
                        generator.writeNumberField("versionCode", response.getApp(i).getVersionCode());
                        generator.writeStringField("price", response.getApp(i).getPrice());
                        generator.writeNumberField("priceMicros", response.getApp(i).getPriceMicros());
                        generator.writeStringField("priceCurrency", response.getApp(i).getPriceCurrency());
                        generator.writeStringField("contactWebsite",
                                response.getApp(i).getExtendedInfo().getContactWebsite());
                        generator.writeNumberField("screenshotsCount",
                                response.getApp(i).getExtendedInfo().getScreenshotsCount());
                        generator.writeNumberField("installSize",
                                response.getApp(i).getExtendedInfo().getInstallSize());
                        generator.writeStringField("permissionIdList",
                                "" + response.getApp(i).getExtendedInfo().getPermissionIdList());
                        generator.writeStringField("promotoText",
                                response.getApp(i).getExtendedInfo().getPromoText());
                        generator.writeStringField("description",
                                response.getApp(i).getExtendedInfo().getDescription());

                        System.out.println("title: " + response.getApp(i).getTitle());
                        System.out.println("appType: " + response.getApp(i).getAppType());
                        System.out.println("category: " + response.getApp(i).getExtendedInfo().getCategory());
                        System.out.println("rating: " + response.getApp(i).getRating());
                        System.out.println("ratingsCount: " + response.getApp(i).getRatingsCount());
                        System.out
                                .println("count: " + response.getApp(i).getExtendedInfo().getDownloadsCount());
                        System.out.println(
                                "countText: " + response.getApp(i).getExtendedInfo().getDownloadsCountText());
                        System.out.println("creator: " + response.getApp(i).getCreator());
                        System.out.println("creatorId: " + response.getApp(i).getCreatorId());
                        System.out.println("id: " + response.getApp(i).getId());
                        System.out.println("packageName: " + response.getApp(i).getPackageName());
                        System.out.println("version: " + response.getApp(i).getVersion());
                        //System.out.println("contactEmail: " + response.getApp(i).getExtendedInfo().getContactEmail());
                        //System.out.println("contactPhone: " + response.getApp(i).getExtendedInfo().getContactPhone());
                        System.out.println(
                                "installSize: " + response.getApp(i).getExtendedInfo().getInstallSize());
                        generator.writeEndObject();
                        generator.writeRaw("\n");
                    }
                } else if (cnt == 0) {
                    System.out.println("no hit");
                } else {
                    System.out.println("Bad Reqeust");
                }

                generator.writeEndArray();
                generator.writeEndObject();
                generator.close();

            } catch (Exception e) {
                System.out.println("Error: pkginfo(): " + e.getMessage());
            }

        } // onResult()
    };
    session.append(appsRequest, callback);
    session.flush();
}

From source file:Service.java

private static String codeResponse(int code) {
    StringWriter sw = new StringWriter();
    try {//from   ww w  .  jav a  2  s. com
        JsonGenerator g = factory.createGenerator(sw);
        g.writeStartObject();
        g.writeNumberField("code", code);
        g.writeEndObject();
        g.flush();
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
    return sw.toString();
}

From source file:com.cedarsoft.couchdb.io.ActionResponseSerializerTest.java

License:asdf

/**
 * Only used for tests//from  w w w.j ava 2 s .  co m
 * @param object
 * @param out
 * @throws IOException
 */
@Deprecated
public static void serialize(@Nonnull ActionResponse object, @Nonnull OutputStream out) throws IOException {
    JsonFactory jsonFactory = JacksonSupport.getJsonFactory();

    JsonGenerator generator = jsonFactory.createJsonGenerator(out, JsonEncoding.UTF8);

    generator.writeStartObject();

    serialize(generator, object);
    generator.writeEndObject();

    generator.close();
}

From source file:com.netflix.hystrix.contrib.sample.stream.HystrixUtilizationJsonStream.java

private static void writeCommandUtilizationJson(JsonGenerator json, HystrixCommandKey key,
        HystrixCommandUtilization utilization) throws IOException {
    json.writeObjectFieldStart(key.name());
    json.writeNumberField("activeCount", utilization.getConcurrentCommandCount());
    json.writeEndObject();
}

From source file:io.seldon.spark.actions.JobUtils.java

public static String mapToJson(Map<String, String> m) {
    JsonFactory jsonFactory = new JsonFactory();
    StringWriter sw = new StringWriter();
    try {/*w  w w.j a  v  a  2s  . c  o  m*/
        JsonGenerator jg = jsonFactory.createGenerator(sw);
        jg.writeStartObject();
        for (Map.Entry<String, String> entry : m.entrySet()) {
            jg.writeStringField(entry.getKey(), entry.getValue());
        }
        jg.writeEndObject();
        jg.close();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return sw.toString();
}

From source file:net.echinopsii.ariane.community.plugin.rabbitmq.directory.json.RabbitmqNodeJSON.java

public final static void manyRabbitmqNodes2JSON(HashSet<RabbitmqNode> nodes, ByteArrayOutputStream outStream)
        throws IOException {
    JsonGenerator jgenerator = RabbitmqDirectoryBootstrap.getjFactory().createGenerator(outStream,
            JsonEncoding.UTF8);/*from  ww  w .j  a  va 2  s  .  c  om*/
    jgenerator.writeStartObject();
    jgenerator.writeArrayFieldStart("rabbitmqnodes");
    for (RabbitmqNode node : nodes)
        rabbitmqNode2JSON(node, jgenerator);
    jgenerator.writeEndArray();
    jgenerator.writeEndObject();
    jgenerator.close();
}