All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.xbynet.crawler.parser.JsonPathParser Maven / Gradle / Ivy

The newest version!
package com.github.xbynet.crawler.parser;

import java.util.ArrayList;
import java.util.List;

import com.jayway.jsonpath.JsonPath;
import com.jayway.jsonpath.ReadContext;

public class JsonPathParser implements Parser {
	private ReadContext ctx;

	public JsonPathParser(String raw) {
		this.ctx = JsonPath.parse(raw);
	}

	public String single(String jsonpath) {
		Object object = ctx.read(jsonpath);
		if (object == null) {
			return null;
		}
		if (object instanceof List) {
			List list = (List) object;
			if (list != null && list.size() > 0) {
				return list.get(0).toString();
			}
		}
		return object.toString();
	}

	public List list(String jsonpath) {
		List reslist = new ArrayList();
		Object object = ctx.read(jsonpath);
		if (object == null) {
			return reslist;
		}
		if (object instanceof List) {
			List list = (List) object;
			for (Object item : list) {
				reslist.add(item.toString());
			}
		} else {
			reslist.add(object.toString());
		}
		return reslist;
	}

	public ReadContext getCtx() {
		return ctx;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy