tristanhimmelman / ObjectMapper

Simple JSON Object mapping written in Swift
MIT License
9.13k stars 1.03k forks source link

Add Multi-Keys to single property support #1131

Open uxinting opened 8 months ago

uxinting commented 8 months ago

Some times server api return different key but same meaning value results, in this case, we have to write if-else control to choose the valid one. I commit this to solve the situation.

If can't get value from primary choice, use this instead first json data like:

{
  username: "John Doe"
}

second json data like:

{
  nickname: "John"
}

Usage:

func mapping(map: Map) {
    //...
    name    <- map["username"].or["nickname"]
    //...
}

You can get valid name either the first or the second json data.

Change

add function or at the extension of Map, if map's currentValue is nil, use the or's one