mirror of https://github.com/alibaba/fastjson2.git
fix support list for JSONPathSingleName, for issue #3331
This commit is contained in:
parent
e25d5238ea
commit
e1971fc0f9
|
@ -115,6 +115,11 @@ final class JSONPathSingleName
|
|||
return ((Map) root).containsKey(name);
|
||||
}
|
||||
|
||||
if (root instanceof List) {
|
||||
List list = (List) root;
|
||||
return !list.isEmpty() && contains(list.get(0));
|
||||
}
|
||||
|
||||
ObjectWriterProvider provider = getWriterContext().provider;
|
||||
|
||||
ObjectWriter objectWriter = provider.getObjectWriter(root.getClass());
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
package com.alibaba.fastjson2.issues_3300;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
public class Issue3331 {
|
||||
@Test
|
||||
public void test() {
|
||||
String json = "[{\"priority_flag\":9,\"service_type\":\"bbb\",\"destination_addr\":\"bbb\"}]";
|
||||
Object object1 = com.alibaba.fastjson.JSON.parse(json);
|
||||
Object object2 = com.alibaba.fastjson2.JSON.parse(json);
|
||||
String path = "$.service_type";
|
||||
assertEquals(com.alibaba.fastjson.JSONPath.contains(object1, path), com.alibaba.fastjson2.JSONPath.contains(object2, path));
|
||||
path = "$[0].service_type";
|
||||
assertEquals(com.alibaba.fastjson.JSONPath.contains(object1, path), com.alibaba.fastjson2.JSONPath.contains(object2, path));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue