Mam ciąg JSON i klawisze mają wielkie i małe litery:Jak zmienić wszystkie klawisze na małe litery podczas analizowania JSON do JToken
{"employees":[
{"FIrstName":"John", "LASTname":"Doe"},
{"FIRSTNAME":"Anna", "LaSTNaME":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]}
Chcę przekonwertować go na JToken
obiektu i mają wszystko klucze w JToken
są małymi literami. Tak wewnętrznie w JToken
powinna być następująca:
{"employees":[
{"firstname":"John", "lastname":"Doe"},
{"firstname":"Anna", "lastname":"Smith"},
{"firstname":"Peter", "lastname":"Jones"}
]}
Wcześniej używałem JToken json = JToken.Parse(jsonString);
do konwersji, ale nie mogę dowiedzieć się, jak sprawić, by klawisze małe. Jakieś pomysły?
Powodem, dla którego muszę to zrobić, jest to, że moja walidacja JsonSchema
będzie niewrażliwa na wielkość liter.
JProperty ma tylko nazwę Nazwa, więc myślę, że będziesz miał problemy z jej zmianą. – mybirthname
Prawda. Myślałem, że jest jakiś sposób na dostosowanie mechanizmu parsowania. Podobnie do funkcji parsowania js, która ma parametr reviver (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse), aby edytować parsowanie. Po prostu nie wiem, jak dostosować w json.net. – Rafi
jeśli chcesz utworzyć niestandardowy konwerter Json, sprawdź to. Nie wiem, czy to pomoże w twoim obecnym przypadku: http: //stackoverflow.com/questions/8030538/how-to-implement-custom-jsonconverter-in-json-net-to-deserialize-a-list- of-base – mybirthname