缺少阵列字元

时间:2019-03-27 15:29:51

标签: json forms

我到json文件的表单发布数据不包含开始和结束[]标记。并且如果发布到现有的json文件以附加它,它将在最后一个[]之后添加数据。另外,发布的数据在条目中最后一个花括号之后不包含必需的逗号。

发布到空的json文件(无[]标签) 附加一个包含[]标签的json文件

list.Any(current.Contains)

我希望JSON是(对于空白文件):

[     {        “ name”:“ Joe”,        “电子邮件”:“ joe@bloggs.com”,        “ cell”:“ 1234567890”,        “ dob”:“ 1998-07-13”,        “研究”:“ 4”     }     ]

但它显示:

<?php
if(isset($_POST['submit'])) {
    $file = "sites/default/files/storage.json";
    $json_string = json_encode($_POST, JSON_PRETTY_PRINT);
    file_put_contents($file, $json_string, FILE_APPEND);
    header('Location: thanks'); 
}
?>

我希望JSON是(对于附加文件):

{
   "name": "Joe",
   "email": "joe@bloggs.com",
   "cell": "1234567890",
   "dob": "1998-07-13",
   "study": "4"
}

但它显示:

[
{
   "name": "Joe",
   "email": "joe@bloggs.com",
   "cell": "1234567890",
   "dob": "1998-07-13",
   "study": "4"
},
{
   "name": "tom",
   "email": "tom@bloggs.com",
   "cell": "1234567891",
   "dob": "1998-07-16",
   "study": "9"
}
]

1 个答案:

答案 0 :(得分:0)

如果您要跑步

cy.get('#private').should('have.attr', 'value', 'false')

您将获得所需的元素结果。但是,如果存储的json中至少已经有一个元素,则可以将其存储为JSON,如下所示:

$json_string = json_encode(array($_POST), JSON_PRETTY_PRINT);