私はそれは非常にうまく機能QueryToJSONQueryToJsonにすべての値を引用させる方法
<cffunction name="queryToJSON" returntype="string" access="public" output="yes">
<cfargument name="q" type="query" required="yes" />
<cfset var o=ArrayNew(1)>
<cfset var i=0>
<cfset var r=0>
<cfloop query="Arguments.q">
<cfset r=Currentrow>
<cfloop index="i" list="#LCase(Arguments.q.columnList)#">
<cfset o[r][i]=Evaluate(i)>
</cfloop>
</cfloop>
<cfreturn SerializeJSON(o)>
</cffunction>
のためのコードを持っています。唯一の問題はkey: value
のペアです。 value
は必ず二重引用符で囲まれているとは限りません。私はすべての値を二重引用符で囲みたい。
変更するにはどうしたらよいですか?
例:所望の結果:
{"zoho_item_name": "Shipping Charges",
"id": "128177000000051618",
"tms_name": "***Ship My book to me before class***",
"sku": "",
"description": "Shipping",
"rate": "6.57",
"Account": "Shipping Fees",
"taxable": "true",
"ExemptionReason": "",
"Source": "2",
"ReferenceId": "",
"LastSyncTime": "",
"Status": "Active",
"Usageunit": "",
"PurchaseRate": "0.00",
"PurchaseAccount": "",
"PurchaseDescription": "",
"InventoryAccount": "",
"ReorderPoint": "",
"Vendor": "",
"InitialStock": "",
"InitialStockRate": "",
"ItemType": "Sales"
}
実際の結果:
{
"initialstockrate": "",
"inventoryaccount": "",
"usageunit": "",
"rate": 7.65,
"tms_name": "***Ship my item(s) to me before class***",
"taxable": true,
"description": "Shipping",
"sku": "",
"purchaseaccount": "",
"purchaserate": 0.00,
"status": "Active",
"account": "Shipping Fees",
"lastsynctime": "",
"initialstock": "",
"zoho_item_name": "Shipping Charges",
"source": 2,
"exemptionreason": "",
"id": 128177000000051618,
"reorderpoint": "",
"referenceid": "",
"vendor": "",
"itemtype": "Sales",
"purchasedescription": ""
}
唯一の引数はクエリオブジェクトです。数値、文字列、および日付のデータ型を持つことができます。また、ヌル値を持つこともできます。二重引用符を使用する場合は、受信するクエリオブジェクトの仕事ではなく、それを置くことが関数の仕事です。 –
私はクエリを呼び出すと、私はquerytojsonにクエリを渡すと、これは私にもすべてのフィールドがvarcharであるので、私もキャストをしようとするか変換することはここで役に立たない –