php 返回无效的 json

2024-02-05

以下 php 代码返回无效的 json 错误,不知道为什么

<?php
include("dbConnect.php");

$sql = "SELECT QID, Question, Answer,CatID FROM Questions";


$res = mysqli_query($con,$sql);

$result = array();

while($row = mysqli_fetch_array($res)){
array_push($result,
array('qid'=>$row[0],
'question'=>$row[1],
'answer'=>$row[2],
'catid'=>$row[3]
));
}

echo json_encode(array("result"=>$result));

mysqli_close($con);

当我运行 php 的链接时,它返回以下数据:

{"result":[{"qid":"1","question":"Question 1","answer":"Answer 1","catid":"1"},{"qid":"2","question":"Question 2","answer":"Answer 2","catid":"2"},{"qid":"3","question":"Question 3","answer":"Answer 3","catid":"3"},{"qid":"4","question":"Question 4","answer":"Answer 4","catid":"1"},{"qid":"5","question":"Question 5","answer":"Answer 5","catid":"3"},{"qid":"6","question":"Question 6","answer":"Answer 6","catid":"3"}]} 

我尝试运行 php 的链接,使用它返回 json 数据json 格式化程序网站 https://jsonformatter.curiousconcept.com/

我收到这些错误:

Error:Invalid media type, expecting application/json.[Code 28, Structure 0]

Error:Invalid encoding, expecting UTF-8, UTF-16 or UTF-32.[Code 29, Structure 0]

Error:Strings should be wrapped in double quotes.[Code 17, Structure 114]

Error:Invalid characters found.[Code 18, Structure 114]

Error:Strings should be wrapped in double quotes.[Code 17, Structure 116]

Error:Invalid characters found.[Code 18, Structure 116]

如果我尝试复制生成的 json 数据,我会得到有效的 JSON 格式,但是当我尝试从服务器上存储的 php 链接运行它时,我会收到上述错误

UPDATE:

链接到 PHP http://aamaa.comli.com/retrieve.php


问题不在于 JSON 字符串,而在于标头数据。 您必须指定Content-Type手动标头,否则它将以 text/html 形式发送输出:

<?php
include("dbConnect.php");

$sql = "SELECT QID, Question, Answer,CatID FROM Questions";


$res = mysqli_query($con,$sql);

$result = array();

while($row = mysqli_fetch_array($res)){
array_push($result,
array('qid'=>$row[0],
'question'=>$row[1],
'answer'=>$row[2],
'catid'=>$row[3]
));
}

header("Content-Type: application/json; charset=utf-8");
echo json_encode(array("result"=>$result));

mysqli_close($con);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php 返回无效的 json 的相关文章

  • Laravel 5 与 SAML 2 和现有 IDP 集成

    我使用 Laravel 5 我正在尝试将 SAML 2 0 与其集成 我找到了这个包 https github com aacotroneo laravel saml2 https github com aacotroneo laravel
  • 如何使用 C# 在 .NET 中获取格式化 JSON?

    我正在使用 NET JSON 解析器 并希望序列化我的配置文件 以便它可读 所以而不是 blah v blah2 v2 我想要一些更好的东西 比如 blah v blah2 v2 我的代码是这样的 using System Web Scri
  • FPDF - 内嵌粗体文本

    我正在尝试从 PHP 创建 PDF 出于法律原因 我们需要将免责声明的一部分设为粗体 并且需要概述免责声明 我当前的代码使用 if isset POST optout POST optout yes pdf gt Ln 5 pdf gt S
  • RxJava + Retrofit 2 的正确使用方法

    我有这样的 JSON success true data id 29 name u0420 u0435 u0441 u0442 u043e u0440 u0430 u0446 u0456 u044f u0411 u0430 u0447 u0
  • mongoose 查询:通过 id 在数组中查找对象

    我怎样才能在此 Schema 中通过 id 找到图像 我有用户的 id 和我正在寻找的图像的 id 执行此操作的最佳方法是什么 在这种情况下 所有图像是否具有不同的 id 或者它们是否可以具有相同的 id 因为它们不属于同一用户 我的架构如
  • 如何在javascript中使用自动递增id?

  • jQuery和PHP中如何知道返回数据是Json还是String?

    我想在客户端 jQuery 检查 PHP 函数返回的数据是否是 Json 对象或 String 来分配不同的函数 如果 json 的格式不正确 jQuery 的 parseJson 将生成异常 您可以将调用包装在 try catch 块中
  • 处理 Json.NET 中的字节顺序标记 (BOM) 字符

    对于 NET Core 项目 我使用返回 JSON 格式的数据的公共 API 然而 他们的一些 不是全部 响应在字符串开头有一个 BOM 字符 这会导致 Visual Studio 和 Json NET 无法将该字符串识别为有效的 JSON
  • 登录后所有页面都应该是https吗?

    这有点难以解释 但我会尽力 有一个网站 每个页面上都有登录表单 其中包含用户名 密码字段 这些页面未使用 SSL 用户填写用户名 密码并提交表单后 表单将被发送到 https 的身份验证页面 对于这种情况我有几个疑问 向 https 页面提
  • 包含字符串和数字的数组

    在 Objective C 中 很容易创建一个异构数组 如下所示 NSArray myArray String1 String2 123 456 有什么方法可以快速创建这样的数组吗 如果是的话怎么办 Note 我在 swift 中尝试了类似
  • 我可以显示我在 PHP 中设置的所有 cookie 吗?

    我正在尝试诊断 cookie 中的错误 但 cookie 的名称不是应有的名称 PHP 有没有办法打印我的域设置的所有 cookie 你有没有尝试过 print r COOKIE
  • 如何在 C# 中定义文本框数组?

    您好 当我在 Windows 申请表上创建文本框时 我无法将其命名为 box 0 box 1 等 我这样做的目的是因为我想循环使用它们 其实我发现TextBox array firstTextBox secondTextBox 也有效
  • Powershell - 将字符串拆分为由开始和结束字符串划分的数组

    我有一个多行字符串 来自 json 例如 somekey somevalue somekey somevalue somekey somevalue somekey somenumber somekey null 我想将字符串拆分为一个数组
  • ZF2 工厂获取参数

    我有一个动态类别导航 在导航工厂中 我想从路线获取参数 我怎样才能做到这一点 在我看来 在我的 module php 中 public function getServiceConfig return array factories gt
  • 未经许可更改内存值

    我有一个二维数组 当我第一次打印数组的数据时 日期打印正确 但其他时候 array last i 的数据从 i 0 到 last 1 显然是一个逻辑错误 但我不明白原因 因为我复制并粘贴了 for 语句 那么 C 更改数据吗 I use g
  • 从多个选择列表中插入数据到mysql数据库(html形式)

    我制作了一个表格 其中有商店的 ID
  • 将新行 JSON 上传到 Elasticsearch 批量 API

    我正在尝试使用 Bulk API 将新行 JSON 上传到 Elasticsearch 我上传的批量 JSON 如下所示 每个 JSON 都占一个新行 ip x x x x seen true classification maliciou
  • 从外部 bash 设置环境变量

    我试图使用 PHP 从命令行 设置 bash 环境变量 但没有成功 buff array buff VARTESTKEY VARTESTVALUE buff export VARTESTKEY file put contents scrip
  • PHP 中的嵌套 JSON 输出

    我正在为 iOS 应用程序构建 API 并尝试将 mySQL 数据转换为 JSON 字符串进行处理 所需的输出将需要顶级订单详细信息 例如客户名称和地址 然后是订购的产品子数组 我需要的两个表中有相当多的字段 我希望拥有所有字段 我已经构建
  • PHP 除法浮点值问题

    当我尝试获取余数时 它给出了无效值 我试图获得两位小数的余数 我得到 3 4694469519536E 18 我的价值观是 x 0 1 y 0 005 我尝试了以下方法 echo ed fmod 0 1 0 005 OutPut 3 469

随机推荐