关键词搜索

源码搜索 ×
×

java中的json使用

发布2019-09-19浏览532次

详情内容

java本身并没有实现对json的支持。于是各路神仙大显神通。查了下,似乎大家比较倾向于使用阿里巴巴的fastjson。正如在.net的世界里,基本上都用newtonsoft.json一样。fastjson,从名字就可以看出来,它是号称很快的哟。

下面是一些例子。

pom.xml

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.56</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

实战代码

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

static final int _ppNodeIndex = 8;
static final int _tpNodeIndex = 12;
static final int _tpIndex = 2;
private String mountForecast(String data) {
	JSONObject jdata = JSONObject.parseObject(data);//反序列化成JSON对象
	JSONArray monkeys = jdata.getJSONArray("animals").getJSONArray(_ppNodeIndex);//读取JSON对象中,
	//animals这个元素(是个数组)里面第某个元素(也是个数组)
	for (Object objp : monkeys) {
	    JSONArray monkey = (JSONArray) objp;

	    JSONArray tNode = path.getJSONArray(_tpNodeIndex);
	    if (tNode.size() <= _tpIndex) {
	        continue;
	    }
	
		……
	}
	return jdata.toString();
}
//
private void getForecastByOrg(String orgName,JSONArray tNode,List<Tf_Forecast> lisF,JSONArray path){
    JSONArray arf = new JSONArray();
    for (Tf_Forecast f : lisfn) {
        JSONArray arfi = new JSONArray();
        arfi.add(f.getT());
        arfi.add(f.getFDATE());
        arfi.add(f.getLON());
        arfi.add(f.getLAT());
        arfi.add(f.getMINSLP());
        arfi.add(f.getMAXWIND());
        arfi.add(f.getORG());
        arfi.add(f.getTYPE());
        arfi.add(f.getRADIUS());
        arf.add(arfi);
    }
    if(path.get(_fpNodeIndex) != null){
        ((JSONObject)path.get(_fpNodeIndex)).put(orgName, arf);
    } else {
        JSONObject org = new JSONObject();
        org.put(orgName, arf);
        path.set(_fpNodeIndex,org);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46

以上代码摘自实际项目,因为不完整,比较乱。但JSON对象的元素无非就是单个值,或者数组。JSONObject、JSONArray一招鲜,吃遍天。

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载