当前位置: 首页 > 面试题库 >

如何将项目添加到json文件格式的数组

乐正涵忍
2023-03-14
问题内容

我仅使用1个数据插入json文件。

$data=$_POST['myusernamer'];

$inp = file_get_contents('7players.json');
$tempArray = json_decode($inp);
array_push($tempArray, $data);
$jsonData = json_encode($tempArray);
file_put_contents('7players.json', $jsonData);

这就是我的json文件的外观。我只想在最后添加1个播放器。

{

"players":[
   {

        "name":"Moldova",
        "image":"/Images/Moldova.jpg",
        "roll_over_image":"tank.jpg"
   },
   {

        "name":"Georgia",
        "image":"/Images/georgia.gif",
        "roll_over_image":"tank.jpg"
   },
   {

        "name":"Belarus",
        "image":"/Images/Belarus.gif",
        "roll_over_image":"tank.jpg" 
   },
   {

        "name":"Armenia",
        "image":"/Images/armenia.png",
        "roll_over_image":"tank.jpg"
   },
   {

        "name":"Kazahstan",
        "image":"/Images/kazahstan.gif",
        "roll_over_image":"tank.jpg"
   },
   {

        "name":"Russia",
        "image":"/Images/russia.gif",
        "roll_over_image":"tank.jpg"
   },
  ],


"games" : [

    {

    "matches" : [

            {

            "player1id":"*",
            "player2id":"*",
            "winner":"*"
            },

            {
            "player1id":"*",
            "player2id":"*",
            "winner":"*"
            },

            {
            "player1id":"*",
            "player2id":"*",
            "winner":"*"
            },

            {
            "player1id":"*",
            "player2id":7,
            "winner":"*"
            },

            {
            "player1id":"*",
            "player2id":"*",
            "winner":"*"
            },

            {
            "player1id":"*",
            "player2id":"*",
            "winner":"*"
            },

            {
            "player1id":"*",
            "player2id":"*",
            "winner":"*"
            }
        ]
       },

    {

    "matches" : [

            {
            "player1id":"*",
            "player2id":"*",
            "winner":"*"
            },
            {
            "player1id":"*",
            "player2id":"*",
            "winner":"*"
            },
            {
            "player1id":"*",
            "player2id":"*",
            "winner":"*"
            },
            {
            "player1id":"*",
            "player2id":7,
            "winner":"*"
            },
            {           
            "player1id":"*",
            "player2id":"*",
            "winner":"*"
            },
            {
            "player1id":"*",
            "player2id":"*",
            "winner":"*"
            },
            {
            "player1id":"*",
            "player2id":"*",
            "winner":"*"
            },

      ]
    }
  ] 
}

我的问题是,如何在最后添加播放器?我也想知道如何更新

player1id":"*",
"player2id":"*",
"winner":"

在匹配数组中。


问题答案:

只需解码json字符串,然后使用数组推送

$tempArray = json_decode($jsonstring, true);
array_push($tempArray, $your_data);

对于你的情况

    $str = '{

"players":[
   {

        "name":"Moldova",
        "image":"/Images/Moldova.jpg",
        "roll_over_image":"tank.jpg"
   },
   {

        "name":"Georgia",
        "image":"/Images/georgia.gif",
        "roll_over_image":"tank.jpg"
   } ]}';


 $arr = json_decode($str, true);
 $arrne['name'] = "dsds";
 array_push( $arr['players'], $arrne );
 print_r($arr);

只需检查print_r($ arr);的值即可。我希望这就是你想要的。:)



 类似资料:
  • 问题内容: 我需要完成以下任务: 从: (向每行添加一个元素)到: 我已经尝试做类似a [n] = array([1,3,4,x])的事情 但是numpy抱怨形状不匹配。我尝试遍历并将元素x附加到每个项目,但是更改未反映出来。 关于如何实现此目标的任何想法? 问题答案: 对于有python经验的人来说,将数据追加到现有数组是很自然的事情。但是,如果您发现自己定期附加到大型数组,则会很快发现NumP

  • 问题内容: 我使用的是Visual Studio2005。我创建一个项目,而不是Web Project,仅创建Windows应用程序。 我记得可以将Access数据库文件添加到项目中。我不需要连接到服务器,可以检索数据。而且我想对SQL数据库文件做同样的事情。 我做了以下步骤: 右键单击项目。 选择添加现有项目 浏览* .mdf文件。 出现“数据源配置向导”,并显示此消息 从数据库检索信息时发生错

  • 我正试图在提交github时隐藏我的API密钥,我已经在论坛中寻找指导,特别是以下帖子: 如何在create-react-app中隐藏API键? 我做了一些改变,并重新开始纱。我不确定我做错了什么——我添加了一个<代码>。env文件添加到我的项目的根目录(我将其命名为< code>process.env),在该文件中,我只需放置< code > REACT _ APP _ API _ KEY =

  • 问题内容: 如何将本地jar文件添加到Maven项目? 问题答案: 如下所示将JAR安装到本地Maven存储库中: 其中每个都指: :要加载的文件的路径,例如→ :文件应注册的组,例如→ :文件的工件名称,例如→ :文件的版本,例如→ :文件的包装,例如→

  • 问题内容: 如何直接在项目的库源代码中添加本地jar文件(尚未成为Maven存储库的一部分)? 问题答案: 如下所示将JAR安装到本地Maven存储库中: 其中每个都指: :要加载的文件的路径,例如→ :文件应注册的组,例如→ :文件的工件名称,例如→ :文件的版本,例如→ :文件的包装,例如→

  • 如何直接在项目的库源中添加本地jar文件(还不是Maven存储库的一部分)?