# JsonParser **Repository Path**: da9527/json-parser ## Basic Information - **Project Name**: JsonParser - **Description**: 用java简单的解析json字符串 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-05 - **Last Updated**: 2025-03-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 用java简单的解析json字符串 用正则的效率会比用有限状态机的方式解析的时间长一些 ```java //准备json字符串 String json = "{\"model\":\"qwen2:0.5b\",\"created_at\":\"2024-07-11T01:32:50.903641Z\",\"response\":\"我是一台计算机程序,我的真实身份和存在方式都与人类的思维习惯和行为习惯有所不同。我是由阿里云开发的一个超大规模语言模型,是基于阿里云研发的大规模语言模型之一。我是“通义千问”的作者。\",\"done\":true,\"done_reason\":\"stop\",\"context\":[151644,872,198,105043,100165,30,151645,198,151644,77091,198,35946,99639,53938,104564,74220,3837,97611,100267,101294,33108,47606,75768,71268,57218,103971,9370,102141,100784,33108,101070,100784,115742,1773,104198,67071,102661,99718,100013,104111,71304,105483,102064,104949,3837,20412,104210,102661,99718,100048,104197,100176,102064,104949,100653,1773,104198,2073,31935,64559,99320,56007,97907,57421,1773,151645,198],\"total_duration\":4328001200,\"load_duration\":3060245600,\"prompt_eval_count\":12,\"prompt_eval_duration\":37756000,\"eval_count\":55,\"eval_duration\":1227625000}"; //使用状态机方式解析 long startTime = System.nanoTime(); com.da.core.state.JsonParser stateParser = new com.da.core.state.JsonParser(); JsonObject stateParse = (JsonObject) stateParser.parse(json); long endTime = System.nanoTime(); System.out.println("state parse time: " + (endTime - startTime) + " ns"); System.out.println("state parse: " + stateParse); //使用正则解析 startTime = System.nanoTime(); com.da.core.stack.JsonParser stackParser = new com.da.core.stack.JsonParser(); JsonObject stackParse = (JsonObject) stackParser.parse(json); endTime = System.nanoTime(); System.out.println("stack parse time: " + (endTime - startTime) + " ns"); System.out.println("stack parse: " + stackParse); ``` 转换json为实体类 ```java User user = JsonMapperUtil.fromJson("{\"name\":\"阿达\",\"age\":18}", User.class); System.out.println("user: " + user); ```