簡體   English   中英

在php中將對象轉換為JSON時出現問題

[英]Problems converting an object into JSON in php

我需要使用php腳本將對象轉換為JSON。

我在一個循環周期中編寫了以下代碼:

$zaino->rows[$num_oggetti]->item = $oggetto;
$zaino->rows[$num_oggetti]->amount = $num;

在循環之后,我將對象轉換為json: json_encode($zaino);

這是我得到的:

{"rows":{"1":{"item":"Soffio di Morte","amount":"1"},"2":{"item":"Pietra Anima di Ferro","amount":"11"},"3":{"item":"Pietra Anima di Legno","amount":"12"}}

但是我需要這樣的東西:

{"rows":[{"item":"Soffio di Morte","amount":"1"},{"item":"Pietra Anima di Ferro","amount":"11"},{"item":"Pietra Anima di Legno","amount":"12"}]}

""之間沒有數字,因此我可以在調用json_decode之后使用$zaino->rows[1]->item輕松獲取值。 我該怎么做?

問題在於$num_oggetti是一個字符串值,而不是數字(是,數字,而不是數字)。 這告訴PHP您正在設置鍵而不是索引。

如果您不需要實際的索引,可以執行以下操作:

$zaino->rows[] = [
  'item'   => $oggetto,
  'amount' => $num
];

這樣,您就可以使索引生成完全由PHP負責,您將獲得所需的json輸出。

暫無
暫無

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

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