Skip to content

Commit b77c0be

Browse files
Merge pull request #18 from GillianPerard/update-readme
Readme updated
2 parents 566dd30 + b404db3 commit b77c0be

File tree

1 file changed

+38
-15
lines changed

1 file changed

+38
-15
lines changed

README.md

Lines changed: 38 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,20 @@ deserialize(json: any, type: any)
9696
// Import decorators from library
9797
import { Serializable, JsonProperty } from './../../src';
9898

99+
// Enums
100+
export enum Gender {
101+
female,
102+
male,
103+
other
104+
}
105+
106+
export enum Status {
107+
alive = 'Alive',
108+
sick = 'Sick',
109+
deadAndAlive = 'Dead and alive',
110+
dead = 'Dead'
111+
}
112+
99113

100114
// Create a serializable class: Employee
101115

@@ -111,8 +125,10 @@ export class Employee {
111125
public birthdate: Date;
112126
@JsonProperty()
113127
public email: string;
128+
129+
// Enum value (number)
114130
@JsonProperty()
115-
public gender: string;
131+
public gender: Gender;
116132

117133
public constructor() { }
118134

@@ -133,7 +149,11 @@ export class Animal {
133149
@JsonProperty()
134150
public numberOfPaws: number;
135151
@JsonProperty()
136-
public gender: string;
152+
public gender: Gender;
153+
154+
// Enum value (string)
155+
@JsonProperty()
156+
public status: Status;
137157

138158
// Specify the property name of json property if needed
139159
@JsonProperty('childrenIdentifiers')
@@ -205,7 +225,7 @@ export class Zoo {
205225

206226
```typescript
207227
// data.ts
208-
export const json: any = {
228+
export const data: any = {
209229
'id': 15,
210230
'name': 'The Greatest Zoo',
211231
'city': 'Bordeaux',
@@ -215,36 +235,36 @@ export const json: any = {
215235
'name': 'Bob Razowsky',
216236
'birthdate': '1984-04-03T22:00:00.000Z',
217237
'email': 'bob.razowsky@tgzoo.fr',
218-
'gender': 'male'
238+
'gender': 1
219239
},
220240
'employees': [
221241
{
222242
'id': 1,
223243
'name': 'Bob Razowsky',
224244
'birthdate': '1984-04-03T22:00:00.000Z',
225245
'email': 'bob.razowsky@tgzoo.fr',
226-
'gender': 'male'
246+
'gender': 1
227247
},
228248
{
229249
'id': 2,
230250
'name': 'Mikasa Ackerman',
231251
'birthdate': '1984-01-11T22:00:00.000Z',
232252
'email': 'mikasa.ackerman@tgzoo.fr',
233-
'gender': 'female'
253+
'gender': 0
234254
},
235255
{
236256
'id': 3,
237257
'name': 'Red Redington',
238258
'birthdate': '1970-12-04T22:00:00.000Z',
239259
'email': 'red.redington@tgzoo.fr',
240-
'gender': 'male'
260+
'gender': 1
241261
},
242262
{
243263
'id': 4,
244264
'name': 'Fried Richter',
245265
'birthdate': '1994-04-01T22:00:00.000Z',
246266
'email': 'fried.richter@tgzoo.fr',
247-
'gender': 'male'
267+
'gender': 1
248268
}
249269
],
250270
'Panthers': [
@@ -253,31 +273,34 @@ export const json: any = {
253273
'name': 'Bagheera',
254274
'birthdate': '2010-01-11T22:00:00.000Z',
255275
'numberOfPaws': 4,
256-
'gender': 'male',
276+
'gender': 1,
257277
'childrenIdentifiers': [
258278
2,
259279
3
260280
],
261281
'color': 'black',
262-
'isSpeckled': false
282+
'isSpeckled': false,
283+
'status': 'Sick'
263284
},
264285
{
265286
'id': 2,
266287
'name': 'Jolene',
267288
'birthdate': '2017-03-10T22:00:00.000Z',
268289
'numberOfPaws': 4,
269-
'gender': 'female',
290+
'gender': 0,
270291
'color': 'blond',
271-
'isSpeckled': true
292+
'isSpeckled': true,
293+
'status': 'Alive'
272294
},
273295
{
274296
'id': 3,
275-
'name': 'Chatchat',
297+
'name': 'Schrodinger',
276298
'birthdate': '2015-03-05T22:00:00.000Z',
277299
'numberOfPaws': 4,
278-
'gender': 'female',
300+
'gender': 1,
279301
'color': 'brown',
280-
'isSpeckled': false
302+
'isSpeckled': false,
303+
'status': 'Dead and alive'
281304
}
282305
]
283306
};

0 commit comments

Comments
 (0)