package com.alibaba.json.bvt.issue_1000;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import junit.framework.TestCase;
import java.util.List;
/**
* Created by wenshao on 17/03/2017.
*/
public class Issue1079 extends TestCase {
public void test_for_issue() throws Exception {
String text = "{\n" +
"\t\"Response\": [{\n" +
"\t\t\"Status\": {\n" +
"\t\t\t\"StatusCode\": {\n" +
"\t\t\t\t\"Value\": \"urn:oasis:names:tc:xacml:1.0:status:ok\"\n" +
"\t\t\t}\n" +
"\t\t},\n" +
"\t\t\"Decision\": \"NotApplicable\"\n" +
"\t}]\n" +
"}";
JSON.parseObject(text, PdpResponse.class);
}
public static class PdpResponse {
@JSONField(name ="Response")
public List<Response> response;
public static class Response {
public List<InnerObject> innerObjects;
}
public static class InnerObject {
@JSONField(name = "Status")
public Status status;
@JSONField(name = "Decision")
public String decision;
}
public static class Status {
@JSONField(name = "StatusCode")
public StatusCode statusCode;
}
public static class StatusCode {
@JSONField(name = "Value")
public String value;
}
@JSONField(deserialize = false)
public String retrieveDecision(){
return this.response.get(0).innerObjects.get(0).decision;
}
}
}