JSONObject处理数据

JSONObject处理json数据

  • 待处理的json格式数据

{"湖北":[{"deal":21,"HOUSEID":"aae0171545b0ad680145b0adec280002","DEALNUM":510020,"HOUSENAME":"湖北","DEALAMOUNT":1.07104E7,"INDATE":"2014-04-02","houseCnt":1},...],
{"河南":[{"deal":21,"HOUSEID":"aae0171545b0ad680145b0adec280002","DEALNUM":510020,"HOUSENAME":"河南","DEALAMOUNT":1.07104E7,"INDATE":"2014-04-02","houseCnt":1},...],
{"上海":[{"deal":21,"HOUSEID":"aae0171545b0ad680145b0adec280002","DEALNUM":510020,"HOUSENAME":"上海","DEALAMOUNT":1.07104E7,"INDATE":"2014-04-02","houseCnt":1},...]

  • 处理方式
import com.alibaba.fastjson.JSONArray;
import org.activiti.engine.impl.util.json.JSONObject;

import java.util.Iterator;

/**
 * @author Orange
 * @version 1.0
 * @Description:此类用于演示使用JsonObject处理数据,根据key获得value
 * @date 2021/1/27 16:51
 */
public class JsonObjectHandleJson {

    public static void main(String[] args) {


        //1.模拟待处理数据 [数据格式为json的字符串]
        String str ="{\"湖北\":[{\"deal\":21,\"HOUSEID\":\"aae0171545b0ad680145b0adec280002\",\"DEALNUM\":510020,\"HOUSENAME\":\"湖北\",\"DEALAMOUNT\":1.07104E7,\"INDATE\":\"2014-04-02\",\"houseCnt\":1}," +
                    "          {\"deal\":21,\"HOUSEID\":\"aae0171545b0ad680145b0adec280002\",\"DEALNUM\":510020,\"HOUSENAME\":\"湖北\",\"DEALAMOUNT\":1.07104E7,\"INDATE\":\"2014-04-02\",\"houseCnt\":1},"+
                    "          {\"deal\":21,\"HOUSEID\":\"aae0171545b0ad680145b0adec280002\",\"DEALNUM\":510020,\"HOUSENAME\":\"湖北\",\"DEALAMOUNT\":1.07104E7,\"INDATE\":\"2014-04-02\",\"houseCnt\":1}],"+
                    "\"大连\":[{\"deal\":21,\"HOUSEID\":\"aae0171545b0ad680145b0adec280002\",\"DEALNUM\":510020,\"HOUSENAME\":\"大连\",\"DEALAMOUNT\":1.07104E7,\"INDATE\":\"2014-04-02\",\"houseCnt\":1}," +
                    "          {\"deal\":21,\"HOUSEID\":\"aae0171545b0ad680145b0adec280002\",\"DEALNUM\":510020,\"HOUSENAME\":\"大连\",\"DEALAMOUNT\":1.07104E7,\"INDATE\":\"2014-04-02\",\"houseCnt\":1},"+
                    "          {\"deal\":21,\"HOUSEID\":\"aae0171545b0ad680145b0adec280002\",\"DEALNUM\":510020,\"HOUSENAME\":\"大连\",\"DEALAMOUNT\":1.07104E7,\"INDATE\":\"2014-04-02\",\"houseCnt\":1}]}";




        //2.装换成JSONObject对象  //此处引入的jar: import org.activiti.engine.impl.util.json.JSONObject;
        JSONObject jsonObject = new JSONObject(str);
        //3.获得json对象中key的个数
        Iterator keys = jsonObject.keys();
        //4.迭代jsonObject对象
        while (keys.hasNext()){
            String key = (String)keys.next();   //获得key
            String string = jsonObject.getString(key);  //获得value
            //5.装换为json数组
            JSONArray objects = JSONArray.parseArray(string);


            //获得json中的属性值
            for(int i=0;i<objects.size();i++){
                //获得每组元素对象
                com.alibaba.fastjson.JSONObject alJson = objects.getJSONObject(i);

                //获得value值
                String housename = alJson.getString("HOUSENAME");
                String dealamount = alJson.getString("DEALAMOUNT");


            }
        }
    }
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 数据,你有什么其他的处理方式吗? 回答:可以使用Gson库来处理JSON数据,它可以将JSON数据转换为Java对象,也可以将Java对象转换为JSON数据。另外,还可以使用Jackson库来处理JSON数据,它也可以实现JSON数据Java对象之间的转换。 ### 回答2: 不使用JSONObject处理JSON的话,可以使用原生的方法来解析JSON数据。 一种方法是使用Java中的Gson库来处理JSON。Gson库提供了一组简单易用的方法,可以将JSON数据转换成Java对象,或者将Java对象转换成JSON数据。我们可以使用Gson的fromJson方法,将JSON数据转换成Java对象,然后使用Java对象的属性来访问JSON数据中的值。 另一种方法是使用Java中的Jackson库来处理JSON。Jackson库也提供了一组方便的方法,用于将JSON数据转换成Java对象和将Java对象转换成JSON数据。我们可以使用Jackson库的readValue方法,将JSON数据转换成Java对象,然后使用Java对象的属性来访问JSON数据中的值。 无论是使用Gson还是Jackson,我们都需要先将JSON数据读取到一个字符串中,然后再将字符串传递给相应的方法来进行处理。读取字符串可以使用Java中的FileReader或BufferedReader类来读取JSON文件,或者使用网络请求库来获取JSON数据。 总之,不使用JSONObject处理JSON数据的话,可以使用Gson库或Jackson库来实现JSON的解析和处理。这些库提供了简单易用的方法,能帮助我们将JSON数据转换成Java对象,并且可以使用Java对象的属性来访问JSON数据中的值。 ### 回答3: 不使用JSONObject处理JSON可以使用其他方法来读取和解析JSON数据。 一种常见的方法是使用第三方库,如GSON或Jackson。这些库提供了更方便的方法来处理JSON数据。我们可以使用这些库将JSON数据转换为Java对象,然后使用Java对象访问和处理数据。 另一种方法是使用Java的内置类库,如JsonReader或JsonParser。这些类提供了更底层的处理方式,可以逐行读取和解析JSON数据。 还可以使用字符串操作函数,如split和substring,来手动提取JSON数据的各个部分。我们可以根据JSON的语法规则来识别和提取键值对、数组等内容。 不使用JSONObject处理JSON可能会更加复杂和繁琐,需要更多的编码和处理逻辑。因此,如果需要频繁处理JSON数据,建议使用JSONObject或第三方库来更方便地处理JSON数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值