У меня есть код для QueryToJSONКак заставить QueryToJson процитировать все значения?
<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": ""
}
Ваш единственный аргумент - объект запроса. Он может иметь числовые, строковые и датированные типы данных. Он также может иметь нулевые значения. Если вы хотите использовать двойные кавычки, то задача вашей функции заключается в том, чтобы помещать их туда, а не в объект входящего запроса. –
, который функционирует, когда я вызываю запрос, передаю запрос запросуtojson, и он дает мне это обратно, также все мои поля являются varchar, поэтому даже я пытаюсь сделать преобразование или преобразование не помогает здесь –