java获取json的数据_有条件地使用java获取json数据

下面是我的代码,我试图检查id id = 101并获得名称= Pushkar与id = 101相关.但代码没有按预期工作.

import org.json.simple.JSONArray;

import org.json.JSONException;

import org.json.simple.JSONObject;

import org.json.simple.parser.JSONParser;

import org.json.simple.parser.ParseException;

public class A6 {

public static void main(String[] args) throws ParseException, JSONException{

String out1="{\"Employee\":[{\"id\":\"101\",\"name\":\"Pushkar\",\"salary\":\"5000\"},{\"id\":\"102\",\"name\":\"Rahul\",\"salary\":\"4000\"},{\"id\":\"103\",\"name\":\"tanveer\",\"salary\":\"56678\"}]}";

//System.out.println(out1);

JSONParser parser=new JSONParser();

JSONObject obj=(JSONObject)parser.parse(out1);

//System.out.print(obj);

JSONArray jarr=(JSONArray)obj.get("Employee");

//System.out.print(jarr);

for (int i=0;i

{

JSONObject jobj=(JSONObject)jarr.get(i);

String ID1=(String)jobj.get("id");

System.out.println(ID1);

if(ID1!=null && out1.equals(ID1))

{

System.out.println("NAME"+jobj.get("name"));

}

}

}}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,我们可以使用JSON库来解析和处理JSON数据。要根据某一字段对JSON数据进行删除,可以按照以下步骤: 1. 首先,使用JSON库将JSON数据解析成Java对象。常用的JSON库有Jackson、Gson等,你可以根据自己的需要选择。 2. 接下来,遍历解析后的Java对象,找到符合条件数据项。这可以通过使用条件语句和循环来完成。判断某一字段的值是否符合条件,如果符合则进行删除操作。 3. 在找到需要删除的数据项后,可以使用JSON库提供的删除方法来实现删除操作。具体的删除方式取决于所使用JSON库。例如,如果使用的是Jackson库,可以使用ObjectMapper的remove方法来删除指定字段。 4. 最后,将删除后的Java对象序列化为JSON字符串,以便进一步处理或输出。同样,根据所使用JSON库,可以调用相应的方法将Java对象转换为JSON字符串。 下面是一个简单的示例代码,演示了根据某一字段对JSON数据进行删除的过程: ```java import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; public class JsonDeleteExample { public static void main(String[] args) throws Exception { String jsonData = "{\"employees\":[{\"name\":\"John\",\"age\":30},{\"name\":\"Jane\",\"age\":25}]}"; String fieldName = "name"; String fieldValue = "John"; // 解析JSON数据 ObjectMapper objectMapper = new ObjectMapper(); JsonNode jsonNode = objectMapper.readTree(jsonData); // 遍历解析后的Java对象 ArrayNode employeesNode = (ArrayNode) jsonNode.get("employees"); for (int i = 0; i < employeesNode.size(); i++) { JsonNode employeeNode = employeesNode.get(i); // 判断字段的值是否符合条件 if (employeeNode.get(fieldName).asText().equals(fieldValue)) { // 删除该节点 employeesNode.remove(i); i--; // 因为数组大小变小,需要调整索引 } } // 序列化为JSON字符串 String updatedJsonData = objectMapper.writeValueAsString(jsonNode); System.out.println(updatedJsonData); } } ``` 以上代码假设JSON数据为`{"employees":[{"name":"John","age":30},{"name":"Jane","age":25}]}`,要删除`name`字段值为`John`的数据项。运行该代码,输出结果为`{"employees":[{"name":"Jane","age":25}]}`,已成功删除指定字段的数据项。 请根据自己的实际需求调整代码中的字段名称和数值,以适应不同的JSON数据和删除条件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值