Message Boards
How to get field values from json data?
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....
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....
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.
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.
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");
}
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");
}