zoharos
zoharos

Reputation: 87

Get dynamically list of object using json.simple

Asking after searching and trying many examples . I'm trying to dynamically get list of values from json in order to insert into array .

The json looks like :

{
"Test_name":"mft",
"parameters":[ 
{
"Remotehost":"vl-tlv-ctm-qa22",
"Ftptype":"sftp",
"file_name":"blabla.txt"
}
]
}

i'm using the following code :

JSONParser parser = new JSONParser();
try {
Object obj = parser.parse(new FileReader("c:/temp/test.txt"));
JSONObject jsonObject = (JSONObject) obj;
String testname = (String) jsonObject.get("Test_name");
System.out.println(testname)
JSONArray msg = (JSONArray) jsonObject.get("parameters");
Iterator<JSONObject> iterator = msg.iterator();
while (iterator.hasNext()) {
JSONObject factObj = (JSONObject) iterator.next();
System.out.println(factObj);

the output is :

mft
{"Remotehost":"vl-tlv-ctm-qa22","file_name":"blabla.txt","Ftptype":"sftp"}

how do i break the pairs in the nested so i can use the as variables and not as single line ?

Thanks , Zohar

Upvotes: 0

Views: 109

Answers (1)

Vijay
Vijay

Reputation: 552

You can get the pairs as key-value pair from JSONObject as below:

        while (iterator.hasNext()) {
            JSONObject factObj = (JSONObject) iterator.next();
            for (Object key : factObj.keySet()) {
                System.out.println(key+":"+factObj.get(key));
            }
        }

Upvotes: 2

Related Questions