如何仅用新元素更新json文件?

蚂蚁100

我从另一个页面收到一个包含许多元素的json,其中一个是id。我想做的是仅使用id创建一个新的json,所以这是我正在做的事情:

首先,将json解码为文件形式存储在服务器中。它存储在数组中。从那里,我将所有id存储在另一个数组中,这是我正在做的简化版本:

$json_array = json_decode(file_get_contents('path/to/file.json'));
foreach($json_array as $arr){
$ids[] = $arr['id'];
}

file_put_contents('ids.json', json_encode($ids));

到目前为止,它正在做我想要的事情,我得到了一个带有所有ID的json。问题是,我的json文件更新,仅显示最后50个项目。因此,无论何时调用,我都会得到最后50个ID。例如,如果我有50个项目,那么我的json的ID为1到ID 50,但是如果我有60个项目,则它显示的是从ID 10到ID 60,因此前10个ID被替换掉了。

我想保留前10个ID,但仍使用新ID更新并避免重复。问题是在我给出的示例中,项目10到50是相同的,只有最后10个是新的。我不确定是否可行。要清楚:

我当前的json: ID为1-50。

更新json:项目10-60(项目10到50与以前相同)。

我希望我的json保留: ID为1-60,无重复。(每次有更新时都要保留此值,因此,如果json有100-150个项目,我的id json将存储从1到150的id)。

我以数字为例更加清楚,它实际上并没有更新10个新项目,它可以是任何随机数。哦,如果有什么帮助,我正在与Codeigniter合作。

感谢您的帮助和时间,我到处都在寻找解决方案,但是我不确定要寻找什么。

戴夫

您将需要读入目标文件,对其内容进行解码,检查数组是否包含新项,如果没有,则将其追加到数组中。

$ids = json_decode(file_get_contents('ids.json'));
$json_array = json_decode(file_get_contents('path/to/file.json'));
foreach($json_array as $arr){
    if (!in_array($arr['id'], $ids)) $ids[] = $arr['id'];
}

file_put_contents('ids.json', json_encode($ids));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将新元素插入到已存在的mongodb中并从json文件更新已存在的文档?

来自分类Dev

添加新元素后如何更新列表

来自分类Dev

如何在序列化动态JSON中更新元素值

来自分类Dev

如何根据单独元素的活动类更新元素类?

来自分类Dev

如何将新元素添加到 JSON 文件的末尾?

来自分类Dev

如何更新元素,使其不包含“已删除的链接”?

来自分类Dev

如何在React中更新元素列表

来自分类Dev

如何从ArrayList中的特定索引更新元素

来自分类Dev

当data- *属性更改时如何更新元素

来自分类Dev

如何在地图C ++中更新元素的值

来自分类Dev

如何在Android上的arraylist上更新元素

来自分类Dev

使用xmlstarlet和BASH,如何基于元素的当前值更新元素的值

来自分类Dev

使用xmlstarlet和BASH,如何基于元素的当前值更新元素的值

来自分类Dev

角度如何根据另一个元素更新元素宽度

来自分类Dev

Mongodb如何仅在元素等于字符串x时才更新元素?

来自分类Dev

如何将当前元素嵌入到新元素中并使用 jsoup 更新到文档中

来自分类Dev

mongodb findAndModify数组中的更新元素

来自分类Dev

聚合物-更新元素

来自分类Dev

遍历所有div并更新元素

来自分类Dev

更新元素时的WPF性能

来自分类Dev

数组中的MongoDB(Mongoose)更新元素

来自分类Dev

带有jQuery的Ajax更新元素

来自分类Dev

遍历所有div并更新元素

来自分类Dev

没有更新元素的类-jQuery

来自分类Dev

追加时Python列表更新元素

来自分类Dev

简单的python for循环不会更新元素

来自分类Dev

基于 AJAX 请求的 Rails 更新元素?

来自分类Dev

如何在删除/添加/更新元素后连续检查数组是否排序

来自分类Dev

如何根据动态提供的ID更新元素的占位符属性?

Related 相关文章

  1. 1

    如何将新元素插入到已存在的mongodb中并从json文件更新已存在的文档?

  2. 2

    添加新元素后如何更新列表

  3. 3

    如何在序列化动态JSON中更新元素值

  4. 4

    如何根据单独元素的活动类更新元素类?

  5. 5

    如何将新元素添加到 JSON 文件的末尾?

  6. 6

    如何更新元素,使其不包含“已删除的链接”?

  7. 7

    如何在React中更新元素列表

  8. 8

    如何从ArrayList中的特定索引更新元素

  9. 9

    当data- *属性更改时如何更新元素

  10. 10

    如何在地图C ++中更新元素的值

  11. 11

    如何在Android上的arraylist上更新元素

  12. 12

    使用xmlstarlet和BASH,如何基于元素的当前值更新元素的值

  13. 13

    使用xmlstarlet和BASH,如何基于元素的当前值更新元素的值

  14. 14

    角度如何根据另一个元素更新元素宽度

  15. 15

    Mongodb如何仅在元素等于字符串x时才更新元素?

  16. 16

    如何将当前元素嵌入到新元素中并使用 jsoup 更新到文档中

  17. 17

    mongodb findAndModify数组中的更新元素

  18. 18

    聚合物-更新元素

  19. 19

    遍历所有div并更新元素

  20. 20

    更新元素时的WPF性能

  21. 21

    数组中的MongoDB(Mongoose)更新元素

  22. 22

    带有jQuery的Ajax更新元素

  23. 23

    遍历所有div并更新元素

  24. 24

    没有更新元素的类-jQuery

  25. 25

    追加时Python列表更新元素

  26. 26

    简单的python for循环不会更新元素

  27. 27

    基于 AJAX 请求的 Rails 更新元素?

  28. 28

    如何在删除/添加/更新元素后连续检查数组是否排序

  29. 29

    如何根据动态提供的ID更新元素的占位符属性?

热门标签

归档