활동이 없어 이 대화는 잠겼습니다. 새 게시물을 작성해 주세요.
활동이 없어 이 대화는 잠겼습니다. 새 게시물을 작성해 주세요.
Hi All,
I have written below JAVA to get my JSON response from Content Fragment.
public static JsonArray getMultiValueAsArray(String contentPath, Value[] values, ResourceResolver resourceResolver) throws RepositoryException {
JsonArray array = new JsonArray();
if (values != null) {
for (Value propertyValue : values) {
JsonParser jsonParser = new JsonParser();
JsonElement jsonObj = jsonParser.parse(propertyValue.getString());
logger.info("jsonObj inside getMultiValueAsArray ===== "+jsonObj);
array.add(jsonDataParser(contentPath, jsonObj, resourceResolver));
}
}
return array;
}
And my JSOn is coming below. Here my multifield is storing as STRING [] array , as shown below.
But here my requirement is that I want my JSOn format should come like below.
Can somebody please let me know what kind of changes I need to do in my JAVA so the format will come like above.
Thanks & Regards
Subrat
해결되었습니다! 솔루션으로 이동.
조회 수
답글
좋아요 수
Option-1:
You will have to use a nested JsonObject to get the desired structure.
public static JsonArray getMultiValueAsArray(String contentPath, Value[] values, ResourceResolver resourceResolver) throws RepositoryException {
JsonArray array = new JsonArray();
if (values != null) {
for (Value propertyValue : values) {
JsonObject propertyObj = new JsonObject();
JsonObject nestedObj = new JsonObject();
nestedObj.addProperty("value", propertyValue.getString());
propertyObj.add(propertyValue, nestedObj);
array.add(nestedObj);
}
}
return array;
}
Here:
propertyObj is {"byline": {"value", "test2"}} and nestedObj is {"value", "test2"}
Option-2: Usage of bean classes. Easier to understand and construct structure.
https://stackoverflow.com/questions/11692303/turning-a-bean-to-json-in-java
Option-1:
You will have to use a nested JsonObject to get the desired structure.
public static JsonArray getMultiValueAsArray(String contentPath, Value[] values, ResourceResolver resourceResolver) throws RepositoryException {
JsonArray array = new JsonArray();
if (values != null) {
for (Value propertyValue : values) {
JsonObject propertyObj = new JsonObject();
JsonObject nestedObj = new JsonObject();
nestedObj.addProperty("value", propertyValue.getString());
propertyObj.add(propertyValue, nestedObj);
array.add(nestedObj);
}
}
return array;
}
Here:
propertyObj is {"byline": {"value", "test2"}} and nestedObj is {"value", "test2"}
Option-2: Usage of bean classes. Easier to understand and construct structure.
https://stackoverflow.com/questions/11692303/turning-a-bean-to-json-in-java
Hi @subnaik ,
To be true, the current JSON structure is more promising rather than the new one you want to achieve. It is less in size, more readable and easy to traverse. I would recommend you check the business requirement and try to propose the older one.
Completing task is 'Job done', completing it right way is 'Achievement'. 🙂
Thanks,
Ritesh Mittal