content: package com.alibaba.json.bvt.path;
  
  import org.junit.Assert;
  
  import com.alibaba.fastjson.JSONArray;
  import com.alibaba.fastjson.JSONPath;
  
  import junit.framework.TestCase;
  
  public class JSONPath_2 extends TestCase {
      public void test_path() throws Exception {
          String json ="{\"user\":[{\"amount\":1.11,\"isadmin\":true,\"age\":18},{\"amount\":0.22,\"isadmin\":false,\"age\":28}]}";
          
          
          {
              JSONArray array = (JSONArray) JSONPath.read(json, "$.user");
              Assert.assertEquals(2, array.size());
              
              Assert.assertTrue(1.11D == array.getJSONObject(0).getDoubleValue("amount"));
              Assert.assertTrue(array.getJSONObject(0).getBoolean("isadmin"));
              Assert.assertTrue(18 == array.getJSONObject(0).getIntValue("age"));
              
              Assert.assertTrue(0.22D == array.getJSONObject(1).getDoubleValue("amount"));
              Assert.assertFalse(array.getJSONObject(1).getBoolean("isadmin"));
              Assert.assertTrue(28 == array.getJSONObject(1).getIntValue("age"));
          }
          
          {
              JSONArray array = (JSONArray) JSONPath.read(json, "$.user[age = 18]");
              Assert.assertEquals(1, array.size());
              
              Assert.assertTrue(1.11D == array.getJSONObject(0).getDoubleValue("amount"));
              Assert.assertTrue(array.getJSONObject(0).getBoolean("isadmin"));
              Assert.assertTrue(18 == array.getJSONObject(0).getIntValue("age"));
          }
          
          {
              JSONArray array = (JSONArray) JSONPath.read(json, "$.user[isadmin = true]");
              Assert.assertEquals(1, array.size());
              
              Assert.assertTrue(1.11D == array.getJSONObject(0).getDoubleValue("amount"));
              Assert.assertTrue(array.getJSONObject(0).getBoolean("isadmin"));
              Assert.assertTrue(18 == array.getJSONObject(0).getIntValue("age"));
          }
          
          {
              JSONArray array = (JSONArray) JSONPath.read(json, "$.user[isadmin = false]");
              Assert.assertEquals(1, array.size());
              
              Assert.assertTrue(0.22D == array.getJSONObject(0).getDoubleValue("amount"));
              Assert.assertFalse(array.getJSONObject(0).getBoolean("isadmin"));
              Assert.assertTrue(28 == array.getJSONObject(0).getIntValue("age"));
          }
          
          {
              JSONArray array = (JSONArray) JSONPath.read(json, "$.user[amount = 0.22]");
              Assert.assertEquals(1, array.size());
              
              Assert.assertTrue(0.22D == array.getJSONObject(0).getDoubleValue("amount"));
              Assert.assertFalse(array.getJSONObject(0).getBoolean("isadmin"));
              Assert.assertTrue(28 == array.getJSONObject(0).getIntValue("age"));
          }
      }
  }
  