Message Boards

How to get field values from json data?

thumbnail
Mahammad Ashik A, modified 5 Years ago.

How to get field values from json data?

Junior Member Posts: 77 Join Date: 7/17/17 Recent Posts
Hi ,


 String data={"availableLanguageIds":["en_US"],"defaultLanguageId":"en_US","fieldValues":[{"instanceId":"wzoe","name":"machineName","value":{"en_US":"Honda Machine"}},{"instanceId":"swlk","name":"Text9c60","value":{"en_US":"Honda"}},{"instanceId":"ktjb","name":"CellOrOp","value":{"en_US":"23"}},{"instanceId":"ptnr","name":"ConcentrationLowerLimit","value":{"en_US":"7"}},{"instanceId":"krul","name":"ConcentrationUpperLimit","value":{"en_US":"7"}},{"instanceId":"xsvo","name":"Text5am59","value":{"en_US":"C5"}},{"instanceId":"dbfn","name":"PlaceOnImportSheetc0hk","value":{"en_US":"Maruti"}},{"instanceId":"dvfo","name":"PlaceOnImportSheeti5bz","value":{"en_US":"8"}},{"instanceId":"vpsd","name":"Date58aq","value":{"en_US":"2019-03-26"}},{"instanceId":"eqpn","name":"Integer2317","value":{"en_US":"30"}},{"instanceId":"poog","name":"Numberhe24","value":{"en_US":"80"}},{"instanceId":"fsct","name":"PlaceOnImportSheet19jn","value":{"en_US":"Honda"}}]}
  
 JSONObject myObject = JSONFactoryUtil.createJSONObject(data);
 _log.info("myObject"+myObject);
 JSONArray myArray = myObject.getJSONArray("fieldValues");
 _log.info("myArray"+myArray);
 for (int j = 0; j < 1; j++) {
            JSONObject obj1 = myArray.getJSONObject(j);
            String name = obj1.getString("name");
            String value = obj1.getString("value");
            _log.info("name-------->"+name);
            _log.info("value-------->"+value);  
               
     }

output:-
value-------->{"en_US":"Honda Machine"}



I need output as "Honda Machine"





Thank You....
thumbnail
David H Nebinger, modified 5 Years ago.

RE: How to get field values from json data?

Liferay Legend Posts: 14919 Join Date: 9/2/06 Recent Posts
Sure, everything is a JSONObject, but that doesn't mean it is just a simple object only.

Each JSONObject could be an array, or in this case it is an object with key/value bindings that you need to handle individually.

You're just basically doing the "toString()" on each object you get as though it is a simple text object.
thumbnail
Mahammad Ashik A, modified 5 Years ago.

RE: How to get field values from json data?

Junior Member Posts: 77 Join Date: 7/17/17 Recent Posts
Thank you David for your support.

I achieved by creating JsonObject.


JSONObject myObject = JSONFactoryUtil.createJSONObject(data);

JSONArray myArray = myObject.getJSONArray("fieldValues");
           

            for (int j = 0; j < 1; j++) {
                JSONObject obj1 = myArray.getJSONObject(j);
                JSONObject obj2 = obj1.getJSONObject("value");
                String machineNmae = obj2.getString("en_US");
               
            }