-
-
Save tehnrd/4559623 to your computer and use it in GitHub Desktop.
List<Object> fieldList = (List<Object>)JSON.deserializeUntyped('[{"field":"phone","object":"account"},{"field":"name","object":"account"}]'); | |
for(Object fld : fieldList){ | |
Map<String,Object> data = (Map<String,Object>)fld; | |
//Magic! | |
system.debug(data.get('field')); | |
} |
Unfortunately, I am not familiar with aura. However, in the case of apex, it depends on where the variables are in the hierarchy and where you are trying to make the comparison. Remember that code is read from left to right, top to bottom (this is an overgeneralization -- I understand there is nuance). As such, you want to make sure you are doing your comparison after both variables have been read/created.
Can you drop your code here for reference? I can see that you shared some earlier in the thread, but I'm not seeing where your comparison variables are.
i've been sharing the code but i don't know why all the code is not posting in comment some of the code is not showing in comment
i've been sharing the code but i don't know why all the code is not posting in comment some of the code is not showing in comment
@Saitejad7 -- when you paste your code in the comment, make sure you are putting 3 backquotes before and after the code block so GH recognizes it as code.
"
component:
<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes" access="global" controller = "BedsData">
<aura:handler name="init" value="{!this }" action="{!c.init}"/>
<aura:attribute name="bedsWrapper" type="object" />
<div class="slds-p-around--large">
<h1 style="font-size:15px;">
message: {!v.bedsWrapper.message}<br/>
responseCode: {!v.bedsWrapper.responseCode}<br/>
</h1>
<table class="slds-table slds-table--bordered slds-table--cell-buffer">
<thead>
<tr class="slds-text-title--caps">
<th scope="col">
<div class="slds-truncate" title="Room No.">Room No.</div>
</th>
<th scope="col">
<div class="slds-truncate" title="Room Name">Room Name</div>
</th>
<th scope="col">
<div class="slds-truncate" title="Gender">Gender</div>
</th>
<th scope="col">
<div class="slds-truncate" title="Cost">Cost</div>
</th>
</tr>
</thead>
<tbody>
<aura:iteration items="{!v.bedsWrapper.locations}" var="location">
<aura:iteration items="{!location.buildings}" var="building">
<aura:iteration items="{!building.beds}" var="bed">
<tr>
<th scope="row">
<div class="slds-truncate" title="{!bed.roomNo}">{!bed.roomNo}</div>
</th>
<th scope="row">
<div class="slds-truncate" title="{!bed.roomName}">{!bed.roomName}</div>
</th>
<th scope="row">
<div class="slds-truncate" title="{!bed.gender}">{!bed.gender}</div>
</th>
<th scope="row">
<div class="slds-truncate" title="{!bed.cost}">{!bed.cost}</div>
</th>
</tr>
</aura:iteration>
</aura:iteration>
</aura:iteration>
</tbody>
</table>
</div>
</aura:component>
controller:
({
init: function(component, event, helper) {
var action = component.get('c.bedsData');
//action.setParams({});
action.setCallback(this, function(response) {
var state = response.getState();
if (state === "SUCCESS") {
var val= response.getReturnValue();
console.log('val Response ' +JSON.stringify(val));
component.set('v.bedsWrapper', val);
} else if (status === "INCOMPLETE") {
console.log("No response from server or client is offline.")
} else if (status === "ERROR") {
console.log("Error: " + errorMessage);
}
});
$A.enqueueAction(action);
}
})
Apex Class:
BedsDataWrapper:
public class BedsDataWrapper{
@AuraEnabled
public String message; //Success
@AuraEnabled
public Integer responseCode; //4000
@AuraEnabled
public String response; //Success
@AuraEnabled
public List<cls_locations> locations;
public class cls_locations {
@AuraEnabled
public String locationType; //HIghway Road
@AuraEnabled
public List<cls_buildings> buildings;
}
public class cls_buildings {
@AuraEnabled
public String buildingName; //Ram
@AuraEnabled
public String buildingSite; //Residencey
@AuraEnabled
public List<cls_beds> beds;
}
public class cls_beds {
@AuraEnabled
public Integer roomNo; //51
@AuraEnabled
public Integer roomId; //2324
@AuraEnabled
public String roomName; //Taj Hotel
@AuraEnabled
public String gender; //M
@AuraEnabled
public String checkinDate; //11/09/2020
@AuraEnabled
public String checkOut; //11/16/2020
@AuraEnabled
public String cost; //1000.00
@AuraEnabled
public String appointmentDate; //09/16/2021
@AuraEnabled
public boolean smoking;
@AuraEnabled
public boolean drinking;
@AuraEnabled
public String roomType; //100_3
@AuraEnabled
public String suspendedFromDate; //
@AuraEnabled
public String suspendedToDate; //
@AuraEnabled
public String buildingName; //Ram
@AuraEnabled
public String roomRent; //168313.94685
@AuraEnabled
public cls_share share;
@AuraEnabled
public String padId; //001
@AuraEnabled
public String endDate; //99/99/1999
}
public class cls_share {
@AuraEnabled
public String roomName; //Taj Hotel
@AuraEnabled
public Integer roomId; //2324
@AuraEnabled
public String shortRoomName; //TH
}
public static BedsDataWrapper parse(String json){
return (BedsDataWrapper) System.JSON.deserialize(json, BedsDataWrapper.class);
}
}
BedsData:
public class BedsData {
@AuraEnabled
public static BedsDataWrapper bedsData(){
try{
String json = '{"message":"Success","responseCode":4000,"response":"Success","locations":[{"locationType":"HIghway Road","buildings":[{"buildingName":"Ram","buildingSite":"Residencey","beds":[{"roomNo":51,"roomId":2324,"roomName":"Taj Hotel","gender":"M","checkinDate":"11/09/2020","checkOut":"11/16/2020","cost":"1000.00","appointmentDate":"09/16/2021","smoking":false,"drinking":false,"roomType":"100_3","suspendedFromDate":"","suspendedToDate":"","buildingName":"Ram","roomRent":"168313.94685","share":{"roomName":"Taj Hotel","roomId":2324,"shortRoomName":"TH"},"padId":"001","endDate":"99/99/1999"}]}]}]}';
BedsDataWrapper results = BedsDataWrapper.parse(json);
return results;
} catch(Exception ex){
System.debug('Error occured while fetching the documents list' + ex);
}
return null;
}
}
"
check the above one...
<aura:if isTrue="{!not(empty(v.values))}">
<div class="slds-table_header-fixed_container slds-scrollable_x" style="height:100%">
<div class="slds-scrollable_y" style="width:1160px">
<table role="grid" aria-rowcount="2" class="slds-table slds-table_header-fixed slds-table_bordered slds-table_edit" style="table-layout:fixed;width:1160px">
<thead>
<tr class="slds-line-height_reset">
<th scope="col" tabindex="-1" aria-label="" style="width:150px">
<div class="slds-cell-fixed" style="width: 150px;outline:none;">
<span class="slds-th__action">
<span class="slds-truncate">Gender</span>
</span>
</div>
</th>
<th scope="col" tabindex="0" aria-label="Name" style="width:100px">
<div class="slds-cell-fixed" style="width: 150px;outline:none;">
<span class="slds-th__action">
<span class="slds-truncate">Name</span>
</span>
</div>
</th>
<th scope="col" tabindex="0" aria-label="Last Name" style="width:100px">
<div class="slds-cell-fixed" style="width: 150px;outline:none;">
<span class="slds-th__action">
<span class="slds-truncate">Last Name</span>
</span>
</div>
</th>
<th scope="col" tabindex="0" aria-label="Name" style="width:100px">
<div class="slds-cell-fixed" style="width: 150px;outline:none;">
<span class="slds-th__action">
<span class="slds-truncate">First Name</span>
</span>
</div>
</th>
<th scope="col" tabindex="0" aria-label="Last Name" style="width:100px">
<div class="slds-cell-fixed" style="width: 150px;outline:none;">
<span class="slds-th__action">
<span class="slds-truncate">DOB</span>
</span>
</div>
</th>
<tbody>
<aura:iteration items="{!v.details}" var="item" indexVar="rowIndex">
<tr data-data="{!rowIndex}">
<td role="gridcell" tabindex="-1" data-label="Record Type Name">
<span class="slds-grid slds-grid_align-spread">
<div class="slds-truncate">
<span class="slds-truncate">{!item.gender}</span>
</div>
</span>
</td>
<td role="gridcell" tabindex="-1" data-label="Record Type Name">
<span class="slds-grid slds-grid_align-spread">
<div class="slds-truncate">
<span class="slds-truncate">{!item.name}</span>
</div>
</span>
</td>
<td role="gridcell" tabindex="-1" data-label="Record Type Name">
<span class="slds-grid slds-grid_align-spread">
<div class="slds-truncate">
<span class="slds-truncate">{!item.lastName}</span>
</div>
</span>
</td>
<td role="gridcell" tabindex="-1" data-label="Record Type Name">
<span class="slds-grid slds-grid_align-spread">
<div class="slds-truncate">
<span class="slds-truncate">{!item.firstName}</span>
</div>
</span>
</td>
<aura:iteration items="{!v.values.result}" var="result" indexVar="rowIndex">
<aura:iteration items="{!result.buildings}" var="buildings" indexVar="rowIndex">
<aura:iteration items="{!buildings.beds}" var="beds" indexVar="rowIndex">
<aura:if isTrue="{!item.gender == '!beds.gender'}">
<td role="gridcell" tabindex="-1" data-label="Record Type Name">
<span class="slds-grid slds-grid_align-spread">
<div class="slds-truncate">
<span class="slds-truncate">{!beds.dob}</span>
</div>
</span>
</td>
<aura:set attribute="else">
<td role="gridcell" tabindex="-1" data-label="Record Type Name">
<span class="slds-grid slds-grid_align-spread">
<div class="slds-truncate">
<span class="slds-truncate">No Dob</span>
</div>
</span>
</td>
</aura:set>
</aura:if>
</aura:iteration>
</aura:iteration>
</aura:iteration>
</tr>
</aura:iteration>
</tbody>
</table>
</div>
</div>
</aura:if>
@dayan-naskar Thank you
After many hours of trying to figure out how to accomplish this..... I found this solution! Thanks a lot
Sick thank you
Worked like a charm! I've spent hours trying different solutions until I came upon this one which is so straightforward! Thank a lot!
And do you know how to write aura:if for two different fields
For suppose i had gender in J2A_kipuGetOccupancyHigh class and gender in another class and i want to check if both the gender is same we have to show the dob value or else we have to show dob value as empty like i've tried below but it doesn't work so can you help me out
<aura:if isTrue="{!item.gender== '!val.gender'}">