私は命名規則のないひどいDB構造を持ち、テーブルとフィールドの名前はどこにでもあります。このデータの一部を新しく開発されたモバイルアプリに提示する必要があります。テーブルやフィールド名に関してモバイルアプリに少なくとも「クリーン」なデザインを提示したいと思います。文字列をJavascriptで保護されたフレンドリーな変数名に変換する
この目的のために、モバイルアプリが消費する「いい」jsonオブジェクトを作成するコードを記述しています。私は手動で行って、私のdbの各フィールドに "正しい"名前をつけたくないので、私はこれを行う自動化されたプロセスを望みます。
私が適用しようとしているルールは次のとおりです。すべてのテーブル名とフィールド名はlowerCamelCaseにある必要があります。
Apple_Cart => appleCart
AppleCart => appleCart
Apple__Cart => appleCart
appleCart => appleCart
APPLE_CART => appleCart
Apple_Cart => appleCart
APPLECart => appleCart (not sure about this one)
私はここで車輪の再発明したくない、と私はNewtonsoft.Jsonまたは別のライブラリのいずれかが既にこれを行うには、コードを持っていることを確信していますか?誰かが私にフィールドとテーブル名の文字列をjson標準形式に変換する良い方法を教えてください。
これは、私はあなたが私もそれを使用し、それは素晴らしい仕事、lowerCamelCaseを取得するには、この機能を使用することができます
/// <summary>
/// Makes the json identifier.
/// </summary>
/// <param name="fieldName">Name of the field.</param>
/// <returns></returns>
private string MakeJsonIdentifier(string fieldName)
{
StringBuilder sb = new StringBuilder(fieldName);
while (sb.ToString().Contains("_"))
{
int posOfFirstUs = sb.ToString().IndexOf("_", StringComparison.Ordinal);
if (sb.ToString().Length > posOfFirstUs + 1)
{
sb[posOfFirstUs + 1] = char.ToUpperInvariant(sb.ToString()[posOfFirstUs + 1]);
sb.Remove(posOfFirstUs, 1);
}
}
return sb.ToString();
}
はこちらですか?私はC#土地でこれを行うために探しているので – user230910