我试图使用PHP解析JSON文件.但我现在被困住了.
这是我的JSON文件的内容:
{
"John": {
"status":"Wait"
},
"Jennifer": {
"status":"Active"
},
"James": {
"status":"Active",
"age":56,
"count":10,
"progress":0.0029857,
"bad":0
}
}
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所尝试的:
<?php
$string = file_get_contents("/home/michael/test.json");
$json_a = json_decode($string, true);
echo $json_a['John'][status];
echo $json_a['Jennifer'][status];
Run Code Online (Sandbox Code Playgroud)
但是,因为我不知道的名字(例如'John','Jennifer')和所有可用键和值(如'age','count')事前,我想我需要创建一些foreach循环.
我会很感激这样的例子.
此问题旨在作为有关在PHP中排序数组的问题的参考.很容易认为您的特定情况是独一无二的,值得一个新问题,但大多数实际上是本页面上其中一个解决方案的微小变化.
如果您的问题与此问题的副本相同,请仅在您能够解释为何与以下所有问题明显不同时才要求重新打开您的问题.
如何在PHP中对数组进行排序?
如何在PHP中对复杂数组进行排序?
如何在PHP中对对象数组进行排序?
有关使用PHP现有函数的实际答案,请参阅1.,有关排序算法的学术详细答案(PHP的函数实现以及您可能需要哪些非常复杂的案例),请参阅参考资料2.
我正在尝试使用PHP从以下JSON文件中获取数据.我特别想要"temperatureMin"和"temperatureMax".
这可能很简单,但我不知道该怎么做.我坚持在file_get_contents("file.json")之后做什么.一些帮助将不胜感激!
{
"daily": {
"summary": "No precipitation for the week; temperatures rising to 6° on Tuesday.",
"icon": "clear-day",
"data": [
{
"time": 1383458400,
"summary": "Mostly cloudy throughout the day.",
"icon": "partly-cloudy-day",
"sunriseTime": 1383491266,
"sunsetTime": 1383523844,
"temperatureMin": -3.46,
"temperatureMinTime": 1383544800,
"temperatureMax": -1.12,
"temperatureMaxTime": 1383458400,
}
]
}
}
Run Code Online (Sandbox Code Playgroud) 如何访问输出为的PHP Associative数组元素:
[highlighting] => stdClass Object
(
[448364] => stdClass Object
(
[Data] => Array
(
[0] => Tax amount liability is .......
Run Code Online (Sandbox Code Playgroud)
我想访问键[0]中的字符串值.我想做的事情如下:
print myVar->highlighting->448364->Data->0
Run Code Online (Sandbox Code Playgroud)
但这两个数字/整数似乎有问题.
编辑:
我将在这里给出一些历史,从哪里获得myVar.我使用的json_decode()是:
$myVar = json_decode(url)
Run Code Online (Sandbox Code Playgroud) 我正在尝试处理稍大(可能高达200M)的JSON文件.该文件的结构基本上是一个对象数组.
所以有些东西:
[
{"property":"value", "property2":"value2"},
{"prop":"val"},
...
{"foo":"bar"}
]
Run Code Online (Sandbox Code Playgroud)
每个对象都具有任意属性,并且不必与数组中的其他对象共享它们(如同,具有相同).
我想对数组中的每个对象应用处理,因为文件可能很大,我不能在内存中啜饮整个文件内容,解码JSON并迭代PHP数组.
理想情况下,我想阅读文件,获取每个对象的足够信息并进行处理.如果有类似的库可用于JSON,那么SAX类型的方法就可以了.
关于如何最好地处理这个问题的任何建议?
我只需要在PHP中使用cURL和JSON一点帮助,因为我从来没有真正开始这样做.我想要完成的是取消付款并回复它,同时限制最先捐赠的数量.
网址:http://api.buycraft.net/query?secret = 83d043249170343dd048d4da62387f6cb39ed97f&action = payments
我用Google搜索,安装了Devel,Drupal for Firebug,但我找不到它.
我发现了我想要的东西,我知道它在哪里 ; 我只是不知道如何得到它.
我将它放在代码括号中,但是Devel告诉我文件名(我想要粘贴到.tpl.php文件中)在这里:
field_image (Object) stdClass
handler (Object) views_handler_field_field
view (Object) view
result (Array, 2 elements)
0 (Object) stdClass
_field_data (Array, 1 element)
nid (Array, 2 elements)
entity (Object) stdClass
field_image (Array, 1 element)
und (Array, 1 element)
0 (Array, 11 elements)
filename (String, 23 characters ) FILENAME.jpg
那么,我如何使用PHP输出FILENAME.jpg?
<?php print $something->other; ?>
Run Code Online (Sandbox Code Playgroud) Solr以下列JSON格式返回响应.
{
"responseHeader":{
"status":0,
"QTime":2,
"params":{
"indent":"on",
"start":"0",
"q":"*:*",
"wt":"json",
"version":"2.2",
"rows":"10"}},
"response":{"numFound":3,"start":0,"docs":[
{
"student_id":"AB1001",
"student_name":[
"John"]
},
{
"student_id":"AB1002",
"student_name":[
"Joe"]
},
{
"student_id":"AB1003",
"student_name":[
"Lorem"]
}]
}}
Run Code Online (Sandbox Code Playgroud)
使用PHP读取student_id,student_name的简单方法是什么?
我如何得到一个数组json_decode()?
我有一个像这样的数组:
$array = array(
'mod_status' => 'yes',
'mod_newsnum' => 5
);
Run Code Online (Sandbox Code Playgroud)
我把它保存在数据库中,如JSON编码:
{"mod_status":"yes","mod_newsnum":5}
Run Code Online (Sandbox Code Playgroud)
现在我想从数据库中再次获取数组.但是当我使用时:
$decode = json_decode($dbresult);
Run Code Online (Sandbox Code Playgroud)
我明白了:
stdClass Object (
[mod_status] => yes
[mod_newsnum] => 5
)
Run Code Online (Sandbox Code Playgroud)
而不是数组.如何获取数组而不是对象?