Issue Description: The JSON that is inside the JSON is invalid if a playername contains a "
Steps to reproduce: Play DOTA2 with a name containing quotes, and try to parse the roster event.
Impact for my app: low
Do you currently have a workaround? No
text.zip (516 Bytes)
(note: data has been anonymized)
{
“feature”:“roster”,
“info”:{
“roster”:{
“players”:“[{"steamId": "7656110001","name" : "Nobody´s PlayerName","pickConfirmed" : false,"hero" : "","team" : 2,"role" : 4,"player_index" : 3},{"steamId": "7656110002","name" : "Abc"Def","pickConfirmed" : true,"hero" : "dazzle","team" : 2,"role" : 8,"player_index" : 1},{"steamId": "7656110003","name" : "Dr. PlayerName","pickConfirmed" : true,"hero" : "witch_doctor","team" : 3,"role" : 16,"player_index" : 7},{"steamId": "765611003","name" : "Iron","pickConfirmed" : true,"hero" : "dragon_knight","team" : 3,"role" : 2,"player_index" : 9},{"steamId": "765611004","name" : "MMUP","pickConfirmed" : true,"hero" : "disruptor","team" : 2,"role" : 16,"player_index" : 4},{"steamId": "765611005","name" : "PlayerName","pickConfirmed" : true,"hero" : "elder_titan","team" : 3,"role" : 8,"player_index" : 8},{"steamId": "765611006","name" : "PlayerName","pickConfirmed" : true,"hero" : "undying","team" : 2,"role" : 2,"player_index" : 2},{"steamId": "765611007","name" : "Stop PlayerName","pickConfirmed" : true,"hero" : "slark","team" : 2,"role" : 1,"player_index" : 0},{"steamId": "765611008","name" : "Any PlayerName","pickConfirmed" : false,"hero" : "","team" : 3,"role" : 4,"player_index" : 6},{"steamId": "765611009","name" : "asdf PlayerName","pickConfirmed" : true,"hero" : "spectre","team" : 3,"role" : 1,"player_index" : 5}]”
}
},
“type”:“info”
}
The invalid part is: … "name" : "Abc"Def" …
Another name we have seen in a different event is: … "name" : ""1"" …
No logs as of right now.
Edit: this forum steals escapes from the JSON. So look in the text.zip file for the raw data.