mirror of https://github.com/alibaba/fastjson2.git
fix support list for JSONPathSingleName, for issue #3331
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (11, macos-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (11, ubuntu-24.04) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (11, windows-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (17, macos-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (17, ubuntu-24.04) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (17, windows-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (21, macos-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (21, ubuntu-24.04) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (21, windows-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (8, macos-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (8, ubuntu-24.04) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (8, windows-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (11, macos-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (11, ubuntu-24.04) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (11, windows-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (17, macos-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (17, ubuntu-24.04) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (17, windows-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (21, macos-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (21, ubuntu-24.04) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (21, windows-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (8, macos-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (8, ubuntu-24.04) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (8, windows-latest) (push) Waiting to run
Details
This commit is contained in:
parent
b4b7f72fa0
commit
29f4ea0aa7
|
@ -115,6 +115,11 @@ final class JSONPathSingleName
|
||||||
return ((Map) root).containsKey(name);
|
return ((Map) root).containsKey(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (root instanceof List) {
|
||||||
|
List list = (List) root;
|
||||||
|
return !list.isEmpty() && contains(list.get(0));
|
||||||
|
}
|
||||||
|
|
||||||
ObjectWriterProvider provider = getWriterContext().provider;
|
ObjectWriterProvider provider = getWriterContext().provider;
|
||||||
|
|
||||||
ObjectWriter objectWriter = provider.getObjectWriter(root.getClass());
|
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