package org.voovan.test.tools.json;
import org.voovan.tools.json.JSONPath;
import org.voovan.tools.log.Logger;
/**
* 类文字命名
*
* @author helyho
* <p>
* Voovan Framework.
* WebSite: https://github.com/helyho/Voovan
* Licence: Apache v2 License
*/
public class JSONPathTest {
public static String tmpStr = "[\n" +
" {\n" +
" \"ID\": \"7hyvnnrbp48bzcvolx35hdoqg\",\n" +
" \"Version\": {\n" +
" \"Index\": 108573\n" +
" },\n" +
" \"CreatedAt\": \"2016-10-20T13:31:12.026491602Z\",\n" +
" \"UpdatedAt\": \"2016-10-20T13:31:12.071133294Z\",\n" +
" \"Spec\": {\n" +
" \"Name\": \"test_bv_prog\",\n" +
" \"TaskTemplate\": {\n" +
" \"ContainerSpec\": {\n" +
" \"Image\": \"alpine\",\n" +
" \"Args\": [\n" +
" \"ping\",\n" +
" \"127.0.0.1\"\n" +
" ],\n" +
" \"Mounts\": [\n" +
" {\n" +
" \"Type\": \"volume\",\n" +
" \"Source\": \"v_t1\",\n" +
" \"Target\": \"/v_t1\",\n" +
" \"ReadOnly\": true\n" +
" }\n" +
" ],\n" +
" \"StopGracePeriod\": 0\n" +
" },\n" +
" \"Resources\": {\n" +
" \"Limits\": {},\n" +
" \"Reservations\": {}\n" +
" },\n" +
" \"RestartPolicy\": {\n" +
" \"Condition\": \"on_failure\",\n" +
" \"Delay\": 0,\n" +
" \"MaxAttempts\": 0\n" +
" }\n" +
" },\n" +
" \"Mode\": {\n" +
" \"Replicated\": {\n" +
" \"Replicas\": 1\n" +
" }\n" +
" },\n" +
" \"UpdateConfig\": {\n" +
" \"Parallelism\": 2,\n" +
" \"FailureAction\": \"pause\"\n" +
" },\n" +
" \"Networks\": [\n" +
" {\n" +
" \"Target\": \"89x15fcp9x08ncc885xwn0e9e\"\n" +
" }\n" +
" ],\n" +
" \"EndpointSpec\": {\n" +
" \"Mode\": \"vip\",\n" +
" \"Ports\": [\n" +
" {\n" +
" \"Protocol\": \"tcp\",\n" +
" \"TargetPort\": 80,\n" +
" \"PublishedPort\": 8080\n" +
" }\n" +
" ]\n" +
" }\n" +
" },\n" +
" \"Endpoint\": {\n" +
" \"Spec\": {\n" +
" \"Mode\": \"vip\",\n" +
" \"Ports\": [\n" +
" {\n" +
" \"Protocol\": \"tcp\",\n" +
" \"TargetPort\": 80,\n" +
" \"PublishedPort\": 8080\n" +
" }\n" +
" ]\n" +
" },\n" +
" \"Ports\": [\n" +
" {\n" +
" \"Protocol\": \"tcp\",\n" +
" \"TargetPort\": 80,\n" +
" \"PublishedPort\": 8080\n" +
" }\n" +
" ],\n" +
" \"VirtualIPs\": [\n" +
" {\n" +
" \"NetworkID\": \"chhjg6kzl8v9bc7x300v6axfl\",\n" +
" \"Addr\": \"10.255.0.2/16\"\n" +
" },\n" +
" {\n" +
" \"NetworkID\": \"89x15fcp9x08ncc885xwn0e9e\",\n" +
" \"Addr\": \"10.0.0.2/24\"\n" +
" }\n" +
" ]\n" +
" },\n" +
" \"UpdateStatus\": {\n" +
" \"StartedAt\": \"0001-01-01T00:00:00Z\",\n" +
" \"CompletedAt\": \"0001-01-01T00:00:00Z\"\n" +
" }\n" +
" }\n" +
"]";
public static void main(String[] args) throws ReflectiveOperationException {
JSONPath jsonPath = new JSONPath(tmpStr);
Logger.info(jsonPath.value("/[0]/Version/Index"));
}
}