You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If the JSON contains duplicate keys with the same casing, then only the last key is used and the others are silently thrown away. The code in JsonObject.cshere actually caters for this case and would throw an error but it never gets to that stage because JsonConvert.DeserializeObjecthere does not throw when there are duplicate keys and simply decides to take the last one.
Either a warning that duplicated keys were disregarded or an error stating that duplicate keys are not allowed unless e.g something like. a -Force switch is used. Given that this would be a breaking change, it will probably have to be a warning.
Actual behavior
Only the last key is used when there are duplicate keys
key
---
value2
Environment data
>$PSVersionTable
Name Value
---------
PSVersion 6.0.0-beta.8
PSEdition Core
GitCommitId v6.0.0-beta.8-20-g0d5a6fbd71c31043d0eda82f7b0e2d4fb0431322
OS Microsoft Windows 10.0.15063
Platform Win32NT
PSCompatibleVersions {1.0,2.0,3.0,4.0...}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
If the JSON contains duplicate keys with the same casing, then only the last key is used and the others are silently thrown away. The code in
JsonObject.cshere actually caters for this case and would throw an error but it never gets to that stage becauseJsonConvert.DeserializeObjecthere does not throw when there are duplicate keys and simply decides to take the last one.Steps to reproduce
Expected behavior
Either a warning that duplicated keys were disregarded or an error stating that duplicate keys are not allowed unless e.g something like. a
-Forceswitch is used. Given that this would be a breaking change, it will probably have to be a warning.Actual behavior
Only the last key is used when there are duplicate keys
key --- value2Environment data