bluelinelabs / bluelinelabs/LoganSquare

ignore field if not set explicitly

Open
#187 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
3.2k
Forks
303
PR merge metrics
No merged PRs in 30d

Description

i have created one model as follows now the problem is if i do not set the values of string variable lile
visitCallStatus then logansquare parser will ignore it ( which is fine with me ) , but if i do not set value of type double / int / long i.e. for visitStartWorkTime and visitStopWorkTime then logansquare parser is considering those fields into json block and i really do not want that.

if values of fields are set then only those should be taken into consideration

**current result is**

"visitInfo": {
"actionTaken": "AC Replaced",
"defectCode": "4433",
"technicianObservation": "AC was damaged",
"visitCallStatus": "Complete",
"visitReason": "job done",
"visitRescheduleDate": 0.0, // i have not set this field explicitly
"visitStartWorkTime": 0.0,
"visitStopWorkTime": 0.0
}

**expected result **
"visitInfo": {
"actionTaken": "AC Replaced",
"defectCode": "4433",
"technicianObservation": "AC was damaged",
"visitCallStatus": "Complete",
"visitReason": "job done",
}
```
@JsonObject
public class VisitInfo {

private String _id;

@JsonField
private String visitCallStatus;

@JsonField
private double visitStartWorkTime;

@JsonField
private double visitStopWorkTime;

public String get_id() {
return _id;
}

public void set_id(String _id) {
this._id = _id;
}

public String getVisitCallStatus() {
return visitCallStatus;
}

public void setVisitCallStatus(String visitCallStatus) {
this.visitCallStatus = visitCallStatus;
}

public double getVisitStartWorkTime() {
return visitStartWorkTime;
}

public void setVisitStartWorkTime(double visitStartWorkTime) {
this.visitStartWorkTime = visitStartWorkTime;
}

public double getVisitStopWorkTime() {
return visitStopWorkTime;
}

public void setVisitStopWorkTime(double visitStopWorkTime) {
this.visitStopWorkTime = visitStopWorkTime;
}
}
```

Contributor guide

No contributing guide indexed for this repository

Research direction

The entry points shown are the @JsonObject model and its @JsonField members; start by tracing how LoganSquare serializes primitive double fields when they retain Java's default value. Done means an unset primitive field is omitted while explicitly assigned fields remain in the JSON, with coverage for both cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.