簡體   English   中英

Json_decode在var_dump()返回null

[英]Json_decode returns null at var_dump()

[
   {
      "CvePS":362544,
      "CveClasificacion":19893,
      "Clasificacion":"Clasificación de Prueba",
      "CveUM":4185,
      "CveUnidadMedida":4185,
      "UnidadMedida":"CAJA",
      "SATClaveUnidadMedida":"BB",
      "Codigo":"69H",
      "Codigo2":null,
      "CodigoBarras":null,
      "PS":"Prueba OC Nuevo4",
      "SATClavePS":null,
      "Precio":0,
      "CveTipoFactor":1,
      "Oferta":0,
      "CveSubFamilia":-1,
      "SubFamilia":"Sin Clasificación",
      "CostoPromedio":0.0000,
      "CveClasificacionPresupuesto":-1,
      "ClasificacionPresupuesto":"Sin Clasificación",
      "UsoClasificacion":3,
      "CvePuesto":null,
      "Puesto":null,
      "PSCodigo":"69H - Prueba OC Nuevo4",
      "PSCodigoCompuesto":"69H - Prueba OC Nuevo4",
      "IVA":-1,
      "RetIVA":0,
      "MargenGanancia":0,
      "IdCtaContVentas":0,
      "IdCtaContCompras":0,
      "IdCtaContInventarios":0,
      "AsientoContableVentas":1,
      "AsientoContableCompras":1,
      "AplicaParaConcepto":true,
      "AplicaParaVenta":true,
      "EsPaquete":false,
      "Estado":"Activo",
      "CveEstado":true,
      "Fecha":"\/Date(1547535600000)\/",
      "Usuario":"Sistema",
      "CveEmpresa":1,
      "CveMoneda":1,
      "Abreviatura":"MXN",
      "Moneda":"Pesos",
      "Inv_CveMetodoInventario":0,
      "CveTipoPS":2,
      "RowNum":1,
      "FuePorXML":1,
      "EsAdminPAQ":0,
      "PendienteEnOC":0,
      "CveClasificacionCosto":null,
      "AplicaSerieLote":null,
      "AplicaCaducidad":null,
      "Estado2":null,
      "CveClasificacion2":null,
      "AplicaParaVentaP":"Si",
      "Cantidad":1,
      "UnidadBase":true,
      "CveMarca":null,
      "AlmacenSeccion":null,
      "TipoPS":"Prod",
      "CvePSPaquete":null,
      "AplicaIEPS":false,
      "IEPSGrabaIVA":false,
      "IEPSPorcentaje":0,
      "CveConceptoContable":null,
      "CveCompuesto":-1,
      "CveSATPS":null,
      "SATClavePS1":null,
      "SATDescripcion":null,
      "Descripcion":null,
      "Inventariable":false,
      "CveProveedorCompra":null,
      "ProveedorCompra":null,
      "VentaMinima":null,
      "RetISR":null,
      "SATClaveProductoServicio":" - ",
      "PrecioMinimo":null,
      "CveFraccionArancelaria":null,
      "CveUnidadAduana":null,
      "ClaveSATFraccionArancelaria":null,
      "ClaveSATUnidadAduana":null,
      "ClaveSATFraccionArancelariaDescripcion":" - ",
      "ClaveSATUnidadAduanaDescripcion":" - ",
      "CveUsuarioModifico":null,
      "UsuarioModifico":null,
      "FechaUltimaModificacion":null,
      "CveClasificacionDetalle":null,
      "CostoPromedio1":0,
      "UltimoCosto":0,
      "FechaUltimaCompra":"",
      "CveTamaño":null
   },
   {
      "CvePS":362540,
      "CveClasificacion":19893,
      "Clasificacion":"Clasificación de Prueba",
      "CveUM":4185,
      "CveUnidadMedida":4185,
      "UnidadMedida":"CAJA",
      "SATClaveUnidadMedida":"BB",
      "Codigo":"66H",
      "Codigo2":null,
      "CodigoBarras":null,
      "PS":"Prueba OC Nuevo",
      "SATClavePS":null,
      "Precio":0,
      "CveTipoFactor":1,
      "Oferta":0,
      "CveSubFamilia":-1,
      "SubFamilia":"Sin Clasificación",
      "CostoPromedio":0.0000,
      "CveClasificacionPresupuesto":-1,
      "ClasificacionPresupuesto":"Sin Clasificación",
      "UsoClasificacion":3,
      "CvePuesto":null,
      "Puesto":null,
      "PSCodigo":"66H - Prueba OC Nuevo",
      "PSCodigoCompuesto":"66H - Prueba OC Nuevo",
      "IVA":-1,
      "RetIVA":0,
      "MargenGanancia":0,
      "IdCtaContVentas":0,
      "IdCtaContCompras":0,
      "IdCtaContInventarios":0,
      "AsientoContableVentas":1,
      "AsientoContableCompras":1,
      "AplicaParaConcepto":true,
      "AplicaParaVenta":true,
      "EsPaquete":false,
      "Estado":"Activo",
      "CveEstado":true,
      "Fecha":"\/Date(1547535600000)\/",
      "Usuario":"Sistema",
      "CveEmpresa":1,
      "CveMoneda":1,
      "Abreviatura":"MXN",
      "Moneda":"Pesos",
      "Inv_CveMetodoInventario":0,
      "CveTipoPS":2,
      "RowNum":2,
      "FuePorXML":1,
      "EsAdminPAQ":0,
      "PendienteEnOC":0,
      "CveClasificacionCosto":null,
      "AplicaSerieLote":null,
      "AplicaCaducidad":null,
      "Estado2":null,
      "CveClasificacion2":null,
      "AplicaParaVentaP":"Si",
      "Cantidad":1,
      "UnidadBase":true,
      "CveMarca":null,
      "AlmacenSeccion":null,
      "TipoPS":"Prod",
      "CvePSPaquete":null,
      "AplicaIEPS":false,
      "IEPSGrabaIVA":false,
      "IEPSPorcentaje":0,
      "CveConceptoContable":null,
      "CveCompuesto":-1,
      "CveSATPS":null,
      "SATClavePS1":null,
      "SATDescripcion":null,
      "Descripcion":null,
      "Inventariable":false,
      "CveProveedorCompra":null,
      "ProveedorCompra":null,
      "VentaMinima":null,
      "RetISR":null,
      "SATClaveProductoServicio":" - ",
      "PrecioMinimo":null,
      "CveFraccionArancelaria":null,
      "CveUnidadAduana":null,
      "ClaveSATFraccionArancelaria":null,
      "ClaveSATUnidadAduana":null,
      "ClaveSATFraccionArancelariaDescripcion":" - ",
      "ClaveSATUnidadAduanaDescripcion":" - ",
      "CveUsuarioModifico":null,
      "UsuarioModifico":null,
      "FechaUltimaModificacion":null,
      "CveClasificacionDetalle":null,
      "CostoPromedio1":0,
      "UltimoCosto":0,
      "FechaUltimaCompra":"",
      "CveTamaño":null
   }
]

我有以下從CURL獲取的json,一旦我想使用$json_data = json_decode($response)$json_data = json_decode($response, true) ,就會得到NULL var_dump($json_data) 還嘗試了json_last_error($json_data)但它也為NULL。

當我嘗試遍歷$json_data並得到“提供的無效參數”時,這種情況上升了。

編輯1:將CURL添加到json_decode代碼:

$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_post_string); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch); 
curl_close($ch);

$json_data = json_decode($response);
//$json_data = json_decode($response, true);

var_dump($json_data);

已經驗證的$response不為空

編輯2:即使json linter表示Valid JSON json_last_error_msg()也會引發Syntax error

如@trincot所建議,請檢查您的字符串UTF-8編碼,並使用以下幾行代碼

$your_param = mb_convert_encoding($encoded_param_string,'UTF-8','UTF-8');

並檢查您的php.ini max_post_limit。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM