2016-08-23 1 views
1

Comment va-t-on convertir les données json sérialisées en données camelCase plutôt que toutes les propriétés majuscules?Comment définir les données JSON à camelCase une fois sur le côté client

À mon avis Voici comment je suis tourner le C# JSON

team = @Html.Raw(Json.Encode(Model.Employees)); 

Voici les données: "Tout cela est des données de test par la voie"

team = [ 
    { 
     "UserId": "902c2fe0-fcdf-4ed8-9591-5d8e01300cda", 
     "UserName": "buderbits", 
     "ID": 719, 
     "Email": "[email protected]", 
     "FName": "Builder", 
     "LName": "Bits", 
     "Title": "Glaizer", 
     "Zip": "10027", 
     "Phone": "456-768-9987", 
     "AddressLine": "124 street st.", 
     "City": "Nyc", 
     "StateCD": "NY", 
     "Avatar": "https://stackoverflow.com/users/RFyEQxDCpEavRfgDA028/qvzlezay.u1l.png", 
     "RowNum": 3, 
     "Total": 4, 
     "IsDirty": false, 
     "IsFlaggedForDelete": false, 
     "SortOrder": 0 
    }, 
    { 
     "UserId": "a9cec535-ac48-4197-b8a0-87702cb14e52", 
     "UserName": "stdard", 
     "ID": 717, 
     "Email": "[email protected]", 
     "FName": "Erik", 
     "LName": "Little", 
     "Title": "Developer", 
     "Zip": "75040", 
     "Phone": "123-456-7890", 
     "AddressLine": "123 Test Street", 
     "City": "Garland", 
     "StateCD": "TX", 
     "Avatar": "https://stackoverflow.com/users/CZmP9uvdTCg8CdEhOAX0/kcm1yg2o.spn.gif", 
     "RowNum": 1, 
     "Total": 4, 
     "IsDirty": false, 
     "IsFlaggedForDelete": false, 
     "SortOrder": 0 
    }, 
    { 
     "UserId": "1a4ef17a-9cd8-42e4-b172-3071e29a222a", 
     "UserName": "teammber1", 
     "ID": 2744, 
     "Email": "[email protected]", 
     "FName": "Derick", 
     "LName": "Mavrick", 
     "Title": "Drafting", 
     "Zip": "77702", 
     "Phone": "111-111-1111", 
     "AddressLine": "123 Teammember ST", 
     "City": "Beaumont", 
     "StateCD": "TX", 
     "Avatar": "https://stackoverflow.com/users/rPF9z0a7yLJpp4e1Zb15/os1cmk0r.kkg.jpg", 
     "RowNum": 4, 
     "Total": 4, 
     "IsDirty": false, 
     "IsFlaggedForDelete": false, 
     "SortOrder": 0 
    }, 
    { 
     "UserId": "17fab37f-d978-441c-a30d-8c08a7e6ce9b", 
     "UserName": "stoontsoftware", 
     "ID": 718, 
     "Email": "[email protected]", 
     "FName": "Mark", 
     "LName": "Taylor", 
     "Title": "Hosting", 
     "Zip": "75070", 
     "Phone": "345-432-1153", 
     "AddressLine": "123 street dr", 
     "City": "McKinney", 
     "StateCD": "TX", 
     "Avatar": "https://stackoverflow.com/users/y5TPPr0HR1GQLxkEhDuj/3bmwy0sk.qoi.png", 
     "RowNum": 2, 
     "Total": 4, 
     "IsDirty": false, 
     "IsFlaggedForDelete": false, 
     "SortOrder": 0 
    } 
]; 

AIDE?

Répondre

3

Vous pouvez utiliser le sérialiseur json de Newtonsoft (Json.net) qui vous permet de spécifier un formateur lors de la sérialisation d'un objet. Cela vous donnera les noms de propriété en minuscules pour votre objet js/tableau créé par la sérialisation.

+1

Merci beaucoup! –

0

Vous pouvez obtenir vos champs dans un étui à chameau avant de les envoyer au client, en convertissant votre requête initiale en un objet dynamique ou en affichant un modèle avec des champs à chameau. Par exemple, si la requête originale:

var model=db.Records.ToList(); 

produit votre sortie, puis modifiez votre requête à:

var model=db.Records.Select(r=> 
    new {firstName=r.FirstName,lastName=LastName, etc...).ToList(); 

Pour vraiment do it 100% du côté client, vous devez reconstruire votre objets de table utilisant une méthode javascript qui remplace chaque objet par un objet correctement nommé.

function NewObject(input){ 
    input=input||{}; 
    this.firstName=input.FirstName||''; 
    this.lastName=input.LastName||''; 
    ...etc. 
} 

var [email protected]; //your Json data as an object 
for(var i=0;i<model.length;i++){ 
    model[i]=new NewObject(model[i]); 
}