Yang ingin saya lakukan adalah sebagai berikut:
- mengambil JSON sebagai masukan dari area teks di php
- gunakan input ini dan ubah menjadi JSON dan teruskan ke php curl untuk mengirim permintaan.
ini saya dapatkan di php dari get of api string json ini saya ingin meneruskan ke json tetapi tidak mengubah ke array
echo $str='{
action : "create",
record: {
type: "n$product",
fields: {
n$name: "Bread",
n$price: 2.11
},
namespaces: { "my.demo": "n" }
}
}';
$json = json_decode($str, true);
kode di atas tidak mengembalikan saya array.
then it is not giving
Tidak memberi apa? Anda mengambil string berformat JSON dari textarea dan mengubahnya menjadi JSON ???Jawaban:
Jika Anda meneruskan JSON dalam posting Anda
json_decode
, itu akan gagal. String JSON yang valid memiliki kunci yang dikutip:sumber
json_decode()
ia akan kembaliNULL
jika JSON Anda tidak valid (misalnya, tidak ada kunci yang dikutip). Itulah yang dikatakan dalam dokumentasi dan itulah yang dikembalikan oleh instalasi PHP 5.2 saya. Apakah Anda menggunakan fungsi selain resmi, bawaanjson_decode()
? Apavar_dump(json_decode($str, true));
kembali?Coba ini:
parameter kedua akan membuat string json yang didekode menjadi array asosiatif.
sumber
Jika Anda mendapatkan JSON string dari bentuk menggunakan
$_REQUEST
,$_GET
atau$_POST
Anda akan perlu menggunakan fungsihtml_entity_decode()
. Saya tidak menyadarinya sampai saya melakukan salah satuvar_dump
dari apa yang ada dalam permintaan vs. apa yang saya salin ke dalam danecho
pernyataan dan melihat string permintaan jauh lebih besar.Jalan yang benar:
Dengan Kesalahan:
sumber
Gunakan
json_decode($json_string, TRUE)
fungsi untuk mengonversi objek JSON menjadi larik.Contoh:
CATATAN: Parameter kedua akan mengubah string JSON yang didekode menjadi array asosiatif.
===========
Keluaran:
sumber
Jika Anda mendapatkan string json dari URL menggunakan
file_get_contents
, ikuti langkah-langkahnya:sumber
string Anda harus dalam format berikut:
Keluaran:
sumber
Anda dapat mengubah Objek json menjadi Array & String.
sumber
Jika Anda perlu mengonversi file atau struktur JSON menjadi array bergaya PHP, dengan semua level bersarang, Anda dapat menggunakan fungsi ini. Pertama, Anda harus json_decode ($ yourJSONdata) dan kemudian meneruskannya ke fungsi ini. Ini akan menampilkan ke jendela browser Anda (atau konsol) array bergaya PHP yang benar.
https://github.com/mobsted/jsontophparray
sumber
Saya pikir ini harus Bekerja, hanya saja Kunci juga harus dalam tanda kutip ganda jika bukan angka.
sumber
ini solusi saya: string json
$columns_validation = string(1736) "[{"colId":"N_ni","hide":true,"aggFunc":null,"width":136,"pivotIndex":null,"pinned":null,"rowGroupIndex":null},{"colId":"J_2_fait","hide":true,"aggFunc":null,"width":67,"pivotIndex":null,"pinned":null,"rowGroupIndex":null}]"
jadi saya menggunakan json_decode dua kali seperti itu:
dan hasilnya adalah:
sumber
Pastikan string dalam format JSON berikut yang seperti ini:
Jika tidak, maka Anda dapat menambahkan
"responsetype => json"
parameter permintaan Anda.Kemudian gunakan
json_decode($response,true)
untuk mengubahnya menjadi array.sumber
responseType
properti digunakan untuk menentukan tipe data dalam jawaban permintaan. Namun masalahnya, isi permintaan berisi data yang tidak benar dari itu sendiri. Oleh karena itu, jawaban Anda tidak sesuai dengan konteks yang diberikan.Anda dapat mengubah string menjadi JSON sebagai berikut dan Anda juga dapat memangkas, menghapus string jika diinginkan,
sumber
Gunakan konverter ini, Itu tidak gagal sama sekali: Services_Json
sumber
sumber