5

ASP.NET MVCフォームをシリアル化すると、次のようになります。

{
  DestinationId: "e96dd00a-b042-41f7-bd59-f369904737b6",
  ...
}

しかし、JSのコーディング規則と一致するように、これが必要です。

{
  destinationId: "e96dd00a-b042-41f7-bd59-f369904737b6",
  ...
}

オブジェクトを取得して、各プロパティの最初の文字を小文字にするにはどうすればよいですか?

4

3 に答える 3

4

簡単な方法は、オブジェクトに対して反復を行うことです。

var newObj = {};
for (var p in o) {
    newObj[p.substring(0,1).toLowerCase()+p.substring(1)] = o[p];
}
于 2012-10-30T13:38:53.507 に答える
2

また、hasOwnPropertyを確認し、前のプロパティを削除する必要があります

var object = { DestinationId: "e96dd00a-b042-41f7-bd59-f369904737b6" }
for ( var prop in object ) {
  if ( object.hasOwnProperty( prop ) ) {
    object[ prop.substring(0,1).toLowerCase() + prop.substring(1) ] = object[ prop ];
    delete object[ prop ];
  }
}
于 2012-10-30T13:47:45.317 に答える
1

これらを文字列として扱い、Reg exps powerを使用する方が良いのではないでしょうか?

JSON.parse( JSON.stringify(z).replace( /(\"[^"])([^"]*\"\:)/g, function(all, head, tail) { return head.toLowerCase() + tail; } ) )

于 2017-08-16T10:21:37.093 に答える