package com.alibaba.json.bvt.path; import java.math.BigDecimal; import java.util.List; import org.junit.Assert; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONPath; import junit.framework.TestCase; @SuppressWarnings("unchecked") public class JSONPointTest_0 extends TestCase { private JSONObject json; protected void setUp() throws Exception { String text = "{\"foo\":[\"bar\",\"baz\"],\"pi\":3.1416,\"ext\":{\"ex1\":1,\"ex2\":\"abc\"}}"; json = JSON.parseObject(text); } public void test_list() throws Exception { List<Object> list = (List<Object>) JSONPath.eval(json, "/foo"); Assert.assertEquals(2, list.size()); Assert.assertEquals("bar", list.get(0)); Assert.assertEquals("baz", list.get(1)); } public void test_list_0() throws Exception { Object val = JSONPath.eval(json, "/foo/0"); Assert.assertEquals("bar", val); } public void test_list_1() throws Exception { Object val = JSONPath.eval(json, "/foo/1"); Assert.assertEquals("baz", val); } public void test_key() throws Exception { Object val = JSONPath.eval(json, "/pi"); Assert.assertEquals(new BigDecimal("3.1416"), val); } public void test_key_1() throws Exception { Object val = JSONPath.eval(json, "/ext/ex1"); Assert.assertEquals(1, val); } }