php - 从 mysql 检索到的 json 字符串上的 json_decode 不起作用

标签 php mysql json

我有一个字符串 json,它提供以下 var 转储:

"[[{"TransactionID":"00416","OrderID":"000926","TransactionOrderItemID":"001123","LastUpdate":"2009-10-28 13:03:31","CustomerID":"184","Company_name":"Test123","Invoiced":"0","SubItemsCount":"2","ProductID":"1","ProductTypesID":"1","ProductTypeName":"Phone","ProductName":"Phone Line (Home)","IncludePST":"1","BillType":"Monthly","BillingCycle":"Monthly","Status":"Active","CreationDate":"2009-10-28","ActivationStartDate":"2009-10-28","NextNotificationDate":"2009-10-27","OverWritePrice":"-1","PriceEconomic":"26.00","BasePrice":"26.0000","ProRate":"Yes","InvoicePrice":"3.35","ServicePeriod":" Pro-Rate: Oct-28-2009 - Oct-31-2009","EndDate":"2009-10-31"}]]"

当我尝试解码为:

json_decode( $json, true);

结果只是空。 $json来自数据库。
请注意,我仅显示完整数据的子集。 问题是,这是来自数据库的变量。如果双引号是问题,如何转换它?

最佳答案

您可以调用 json_last_error() 来获取有关错误原因的更多信息。

例如这样:

json_decode($string);

switch(json_last_error())
{
    case JSON_ERROR_DEPTH:
        echo ' - Maximum stack depth exceeded';
    break;
    case JSON_ERROR_CTRL_CHAR:
        echo ' - Unexpected control character found';
    break;
    case JSON_ERROR_SYNTAX:
        echo ' - Syntax error, malformed JSON';
    break;
    case JSON_ERROR_NONE:
        echo ' - No errors';
    break;
}

关于php - 从 mysql 检索到的 json 字符串上的 json_decode 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1639079/

相关文章:

php - 如何找到多维数组中第一个具有特定值的元素?

php - 使用下拉值返回PHP查询结果

c# - 如何将 JToken 转换为 string[]?

javascript - MSNodeSQL查询错误结果或JavaScript变量的误解

javascript - Laravel 5 如何让 Controller 显示简单的消息框或警报?

php - 需要一些使用 MySQL 的 Android 和 iOS 应用程序的初步指导

php - MySQL SUM、ORDER BY 等

php - 根据名称获取值(value)

mysql - Kubernetes MySQL pod持续崩溃并显示无法锁定./ibdata1错误:11

java - Gson fromJson反序列化泛型