`
fandayrockworld
  • 浏览: 312926 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jackson用类似xpath的方式读取、修改json

 
阅读更多

jackson是一款效率极高的json处理工具,如果能用xpath读取xml的那种方式读取、修改json就更好了,翻看jackson的介绍文档后,发现真的有这样的方式,即jackson的Tree Model http://wiki.fasterxml.com/JacksonInFiveMinutes#Tree_Model_Example

代码如下:

 

 

ObjectMapper m = new ObjectMapper();
// can either use mapper.readTree(JsonParser), or bind to JsonNode
JsonNode rootNode = m.readValue(new File("user.json"), JsonNode.class);
// ensure that "last name" isn't "Xmler"; if is, change to "Jsoner"
JsonNode nameNode = rootNode.path("name");
String lastName = nameNode.path("last").getTextValue().
if ("xmler".equalsIgnoreCase(lastName)) {
  ((ObjectNode)nameNode).put("last", "Jsoner");
}
// and write it out:
m.writeValue(new File("user-modified.json"), rootNode);
0
4
分享到:
评论

相关推荐

    JsonPath使用类似XPATH的语法从JSON提取数据

    同时,它也可以与各种Java JSON库(如Jackson、Gson)结合使用,以提供更全面的JSON处理能力。 对于压缩包文件`json-path-JsonPath-8a23997`,这可能是一个包含JsonPath库源代码或者示例项目的版本,通过查看源码和...

    读json文件自动生成jsonpath

    以下是一个基本的示例,展示了如何读取JSON文件并使用JsonPath查询: ```java import com.jayway.jsonpath.JsonPath; import java.io.File; import java.util.Map; public class JsonPathExample { public ...

    json处理总结.zip

    - **com.jayway.jsonpath**:用于读取JSON文档的库,类似于XPath对于XML。 3. **Gson库的使用** - `Gson.toJson()`:将Java对象转换为JSON字符串。 - `Gson.fromJson()`:将JSON字符串解析为Java对象。 4. **...

    json操作常用工具类

    这个库提供了一个简单的API,包括`JSONObject`和`JSONArray`类,用于创建、读取和修改JSON数据。例如,你可以通过`getString()`, `getJSONObject()`, `put()`等方法来操作JSON。 4. **Fastjson库** Fastjson是...

    Json需要的jar包

    4. **JsonPath**:虽然不是直接处理JSON对象的库,但JsonPath是用于查询和提取JSON数据的一种表达式语言,类似于XPath对于XML。它经常与上述的JSON库结合使用,例如使用Jackson或Gson解析JSON,然后用JsonPath进行...

    json 2.4 相关jar

    - `JsonParser`:用于读取JSON源,支持流式解析。 2. **Gson库**:由Google开发,它提供了简单的API来在Java对象和JSON数据之间进行映射。例如: - `Gson`:核心类,负责将Java对象转换为JSON字符串,反之亦然。 ...

    java中使用json所需jar包

    3. **解析JSON**:如果只是读取JSON数据,可以使用`JSONObject`或`JSONArray`类的解析方法。 4. **构建JSON**:对于创建JSON结构,可以使用`JSONObject`和`JSONArray`构造函数或方法。 5. **处理JSON路径**:某些...

    java中所需json包

    4. **JsonPath**:虽然不是JSON解析库,但JsonPath是一种强大的查询语言,类似于XPath对于XML,用于从JSON文档中提取数据。Java中常用的JsonPath实现有`com.jayway.jsonpath.JsonPath`,它可以方便地读取和修改JSON...

    JSON入门Java篇-7-JSON总结.rar

    - 读取JSON对象: ```java String jsonString = "{\"key\":\"value\"}"; Map, String> map = mapper.readValue(jsonString, new TypeReference, String>>(){}); ``` 5. JSONPath和JSON Schema: - JSONPath:...

    Java Json相关

    这在接收服务器响应或读取JSON文件时非常有用。同样,Jackson和Gson提供了方便的方法,如`readValue()`或`fromJson()`,来完成这个过程。 8. **JSON路径(JsonPath)**: JsonPath是类似于XPath的查询语言,用于从...

    json所需jar

    3. **org.json**:这个库提供了一些基本的类,如`JSONObject`和`JSONArray`,用于创建、读取和修改JSON数据。虽然功能相对较少,但因其轻量级和易于上手而受到欢迎。 4. **Apache JSON Lib**:Apache软件基金会的...

    java web json包

    - JSONPath是类似于XPath的查询语言,用于在JSON文档中查找数据。 - JSONSchema是一种JSON格式的规范,用于验证JSON数据的结构是否符合预设规则。 7. Spring框架中的JSON处理: - 在Spring MVC中,`@RequestBody...

    json-20160810.jar

    5. **JSONPath**:虽然不是Java标准的一部分,但JSONPath是一个查询语言,用于从JSON文档中提取数据,类似于XPath对于XML。如果"json-20160810.jar"支持JSONPath,那么它可能包含解析和查询JSON数据的工具。 6. **...

    json工具包(commons-xxx.jar,ezmorph-xxx.jar,json-xxx.jar)

    - **JSON路径**:类似于XPath或CSS选择器,JSON Path是一种查询JSON文档的语法,用于提取特定的数据。 - **JSON Schema**:一种JSON格式,用于定义JSON数据的结构和限制,用于数据验证。 - **流式API**:对于处理...

    阿里巴巴json包.rar

    5. **JSONPath支持**:Fastjson提供了类似于XPath的JSONPath语法,可以方便地对JSON数据进行查询和修改。 6. **安全性**:考虑到JSON注入攻击,Fastjson提供了一种安全模式,可以防止恶意的JSON数据破坏程序运行。 ...

    com.alibaba.fastjson json解析工具包

    除此之外,`fastjson`还支持JSONPath表达式,用于在JSON文档中查询和修改数据,类似于XPath在XML文档中的作用。这使得在处理复杂JSON结构时更加灵活。 在实际开发中,`fastjson`不仅可以用于前后端数据交换,还可以...

    用json需要的jar包

    `json-path`是用于提取JSON文档中特定部分的库,类似于XPath对XML的作用。而`json-smart`可能是`net.minidev:json-smart`,这是一个高效的JSON解析器和生成器,特别适合嵌入式系统和移动应用。 `json-path`库提供了...

    java解析xml生成json对象

    这个方法可能接受XML文件的路径作为参数,然后使用选择的XML解析器(如DOM或SAX)读取文件,接着使用JSON库将解析出的XML数据转化为JSON对象。 4. **使用示例**:在测试类中,创建一个测试方法调用工具类的方法,...

    fastjson该包实现了部分JSON的快速提取

    2. **JSONPath支持**:类似XPath用于XML,Fastjson支持JSONPath表达式来查询和修改JSON对象。 3. **安全模式**:为避免JSON注入攻击,Fastjson提供安全模式,限制某些可能导致安全问题的操作。 五、应用场景 1. **...

    dom4j-json-Gson完整jar包

    json jar包可能包含了一个或多个处理JSON的库,比如org.json或者Jackson,它们也提供了类似于Gson的JSON操作功能。而dom4j-1.6.1则是DOM4J的特定版本,用于处理XML相关任务。 在实际开发中,这些库通常会结合使用。...

Global site tag (gtag.js) - Google Analytics