php - 格式错误的 JSON 字符串需要针对 PHP 进行更正

标签 php c++ json json-deserialization

我制作了一个包含 cout 组合的 C++ 程序,用于将输出作为 JSON 字符串,以便我可以使用 json_decode 函数在 PHP 中对其进行解码。我用自己的逻辑生成了字符串。 我相信输出字符串中存在问题,但即使花了几个小时我也找不到它。

var_dump(json_decode($string, TRUE));给出

NULL

json_last_error_msg();给

quoted object property name expected

json_last_error();给

4

我尝试在 PHP5 中使用 json_decode($string, TRUE) 解码原始字符串,平台:已安装 Ubuntu x64 14.04 LTS(apache2、php5、php5-json)

{"initUserGrid" :{    { 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ,  { 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ,  { 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ,  { 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 } ,  { 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 } ,  { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ,  { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ,  { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ,  { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ,  { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }},"initBotGrid" :{    { 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ,  { 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ,  { 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ,  { 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 } ,  { 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ,  { 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ,  { 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ,  { 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ,  { 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ,  { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }},"moves" : {   "user" : {7 , 6} , "bot"  : {0 , 6} , "user" : {2 , 9} , "bot"  : {1 , 4} , "user" : {8 , 1} , "bot"  : {2 , 4} , "user" : {9 , 9} , "bot"  : {0 , 9} , "user" : {9 , 4} , "bot"  : {3 , 2} , "bot"  : {6 , 6} , "user" : {8 , 8} , "bot"  : {4 , 0} , "bot"  : {4 , 0} , "user" : {6 , 5} , "bot"  : {2 , 7} , "user" : {3 , 3} , "user" : {4 , 4} , "bot"  : {9 , 7} , "user" : {9 , 7} , "bot"  : {1 , 9} , "user" : {8 , 3} , "bot"  : {4 , 3} , "bot"  : {7 , 8} , "user" : {0 , 4} , "bot"  : {2 , 2} , "bot"  : {1 , 8} , "user" : {0 , 1} , "user" : {1 , 7} , "bot"  : {2 , 4} , "user" : {4 , 9} , "bot"  : {4 , 4} , "bot"  : {1 , 7} , "user" : {5 , 8} , "bot"  : {5 , 0} , "user" : {9 , 6} , "bot"  : {9 , 7} , "user" : {0 , 9} , "bot"  : {9 , 4} , "user" : {0 , 9} , "bot"  : {1 , 1} , "bot"  : {1 , 4} , "user" : {5 , 4} , "bot"  : {1 , 1} , "user" : {7 , 8} , "bot"  : {7 , 6} , "user" : {2 , 1} , "user" : {1 , 1} , "user" : {1 , 3} , "bot"  : {5 , 6} , "user" : {2 , 7} , "bot"  : {6 , 4} , "user" : {5 , 3} , "bot"  : {9 , 8} , "user" : {7 , 4} , "bot"  : {5 , 9} , "user" : {4 , 0} , "user" : {5 , 6} , "bot"  : {9 , 1} , "user" : {2 , 8} , "bot"  : {4 , 9} , "user" : {0 , 9} , "bot"  : {3 , 9} , "user" : {2 , 1} , "bot"  : {9 , 4} , "user" : {3 , 8} , "bot"  : {4 , 3} , "user" : {7 , 1} , "bot"  : {9 , 0} , "user" : {6 , 6} , "bot"  : {8 , 8} , "user" : {9 , 4} , "bot"  : {0 , 4} , "user" : {7 , 6} , "bot"  : {6 , 2} , "user" : {1 , 9} , "bot"  : {1 , 1} , "user" : {2 , 3} , "bot"  : {7 , 6} , "user" : {0 , 4} , "bot"  : {4 , 6} , "user" : {0 , 6} , "bot"  : {7 , 1} , "user" : {3 , 9} , "bot"  : {7 , 9} , "user" : {7 , 9} , "bot"  : {3 , 7} , "user" : {1 , 8} , "bot"  : {6 , 6} , "user" : {0 , 1} , "bot"  : {2 , 3} , "user" : {6 , 1} , "bot"  : {4 , 3} , "user" : {9 , 8} , "bot"  : {4 , 1} , "bot"  : {0 , 2} , "user" : {8 , 9} , "bot"  : {0 , 0} , "bot"  : {9 , 7} , "user" : {6 , 3} , "bot"  : {4 , 8} , "user" : {6 , 6} , "bot"  : {4 , 0} , "user" : {6 , 9} , "bot"  : {0 , 3} , "user" : {6 , 6} , "bot"  : {9 , 3} , "user" : {8 , 2} , "bot"  : {2 , 5} , "user" : {7 , 0} , "user" : {2 , 6} , "bot"  : {5 , 7} , "user" : {9 , 2} , "bot"  : {9 , 7} , "user" : {2 , 0} , "user" : {8 , 8} , "bot"  : {4 , 7} , "user" : {7 , 6} , "bot"  : {6 , 0} , "user" : {3 , 5} , "bot"  : {3 , 8} , "user" : {1 , 1} , "bot"  : {5 , 2} , "user" : {9 , 2} , "bot"  : {2 , 7} , "user" : {4 , 6} , "bot"  : {5 , 4} , "user" : {8 , 1} , "bot"  : {9 , 6} , "user" : {6 , 9} , "bot"  : {7 , 3} , "user" : {0 , 7} , "bot"  : {3 , 3} , "bot"  : {4 , 9} , "user" : {6 , 1} , "bot"  : {0 , 9} , "user" : {3 , 9} , "bot"  : {3 , 3} , "user" : {5 , 8} , "bot"  : {6 , 3} , "user" : {1 , 9} , "bot"  : {5 , 0} , "user" : {3 , 9} , "bot"  : {5 , 3} , "user" : {3 , 4} , "bot"  : {8 , 4} , "user" : {3 , 2} , "user" : {6 , 0} , "user" : {0 , 8} , "bot"  : {0 , 2} , "user" : {3 , 8} , "bot"  : {8 , 0} , "user" : {5 , 6} , "bot"  : {5 , 3} , "user" : {8 , 3} , "bot"  : {2 , 1} , "bot"  : {3 , 0} , "bot"  : {1 , 8} , "user" : {1 , 6} , "bot"  : {3 , 6} , "user" : {0 , 6} , "bot"  : {9 , 1} , "user" : {1 , 5} , "bot"  : {4 , 7} , "user" : {9 , 3} , "bot"  : {2 , 4} , "user" : {6 , 2} , "bot"  : {9 , 2} , "user" : {7 , 1} , "bot"  : {4 , 4} , "user" : {7 , 6} , "bot"  : {8 , 9} , "user" : {7 , 0} , "bot"  : {8 , 9} , "user" : {5 , 0} , "user" : {9 , 3} , "bot"  : {4 , 8}},"result" : "bot"}

缩进版本(不删除'\n')

{
"initUserGrid" :
{
    { 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }
 ,  { 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }
 ,  { 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }
 ,  { 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 }
 ,  { 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 }
 ,  { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }
 ,  { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }
 ,  { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }
 ,  { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }
 ,  { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }
}

,

"initBotGrid" :
{
    { 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }
 ,  { 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }
 ,  { 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }
 ,  { 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 }
 ,  { 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }
 ,  { 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }
 ,  { 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }
 ,  { 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }
 ,  { 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }
 ,  { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }
}

,

"moves" : {
   "user" : {7 , 6}
 , "bot"  : {0 , 6}
 , "user" : {2 , 9}
 , "bot"  : {1 , 4}
 , "user" : {8 , 1}
 , "bot"  : {2 , 4}
 , "user" : {9 , 9}
 , "bot"  : {0 , 9}
 , "user" : {9 , 4}
 , "bot"  : {3 , 2}
 , "bot"  : {6 , 6}
 , "user" : {8 , 8}
 , "bot"  : {4 , 0}
 , "bot"  : {4 , 0}
 , "user" : {6 , 5}
 , "bot"  : {2 , 7}
 , "user" : {3 , 3}
 , "user" : {4 , 4}
 , "bot"  : {9 , 7}
 , "user" : {9 , 7}
 , "bot"  : {1 , 9}
 , "user" : {8 , 3}
 , "bot"  : {4 , 3}
 , "bot"  : {7 , 8}
 , "user" : {0 , 4}
 , "bot"  : {2 , 2}
 , "bot"  : {1 , 8}
 , "user" : {0 , 1}
 , "user" : {1 , 7}
 , "bot"  : {2 , 4}
 , "user" : {4 , 9}
 , "bot"  : {4 , 4}
 , "bot"  : {1 , 7}
 , "user" : {5 , 8}
 , "bot"  : {5 , 0}
 , "user" : {9 , 6}
 , "bot"  : {9 , 7}
 , "user" : {0 , 9}
 , "bot"  : {9 , 4}
 , "user" : {0 , 9}
 , "bot"  : {1 , 1}
 , "bot"  : {1 , 4}
 , "user" : {5 , 4}
 , "bot"  : {1 , 1}
 , "user" : {7 , 8}
 , "bot"  : {7 , 6}
 , "user" : {2 , 1}
 , "user" : {1 , 1}
 , "user" : {1 , 3}
 , "bot"  : {5 , 6}
 , "user" : {2 , 7}
 , "bot"  : {6 , 4}
 , "user" : {5 , 3}
 , "bot"  : {9 , 8}
 , "user" : {7 , 4}
 , "bot"  : {5 , 9}
 , "user" : {4 , 0}
 , "user" : {5 , 6}
 , "bot"  : {9 , 1}
 , "user" : {2 , 8}
 , "bot"  : {4 , 9}
 , "user" : {0 , 9}
 , "bot"  : {3 , 9}
 , "user" : {2 , 1}
 , "bot"  : {9 , 4}
 , "user" : {3 , 8}
 , "bot"  : {4 , 3}
 , "user" : {7 , 1}
 , "bot"  : {9 , 0}
 , "user" : {6 , 6}
 , "bot"  : {8 , 8}
 , "user" : {9 , 4}
 , "bot"  : {0 , 4}
 , "user" : {7 , 6}
 , "bot"  : {6 , 2}
 , "user" : {1 , 9}
 , "bot"  : {1 , 1}
 , "user" : {2 , 3}
 , "bot"  : {7 , 6}
 , "user" : {0 , 4}
 , "bot"  : {4 , 6}
 , "user" : {0 , 6}
 , "bot"  : {7 , 1}
 , "user" : {3 , 9}
 , "bot"  : {7 , 9}
 , "user" : {7 , 9}
 , "bot"  : {3 , 7}
 , "user" : {1 , 8}
 , "bot"  : {6 , 6}
 , "user" : {0 , 1}
 , "bot"  : {2 , 3}
 , "user" : {6 , 1}
 , "bot"  : {4 , 3}
 , "user" : {9 , 8}
 , "bot"  : {4 , 1}
 , "bot"  : {0 , 2}
 , "user" : {8 , 9}
 , "bot"  : {0 , 0}
 , "bot"  : {9 , 7}
 , "user" : {6 , 3}
 , "bot"  : {4 , 8}
 , "user" : {6 , 6}
 , "bot"  : {4 , 0}
 , "user" : {6 , 9}
 , "bot"  : {0 , 3}
 , "user" : {6 , 6}
 , "bot"  : {9 , 3}
 , "user" : {8 , 2}
 , "bot"  : {2 , 5}
 , "user" : {7 , 0}
 , "user" : {2 , 6}
 , "bot"  : {5 , 7}
 , "user" : {9 , 2}
 , "bot"  : {9 , 7}
 , "user" : {2 , 0}
 , "user" : {8 , 8}
 , "bot"  : {4 , 7}
 , "user" : {7 , 6}
 , "bot"  : {6 , 0}
 , "user" : {3 , 5}
 , "bot"  : {3 , 8}
 , "user" : {1 , 1}
 , "bot"  : {5 , 2}
 , "user" : {9 , 2}
 , "bot"  : {2 , 7}
 , "user" : {4 , 6}
 , "bot"  : {5 , 4}
 , "user" : {8 , 1}
 , "bot"  : {9 , 6}
 , "user" : {6 , 9}
 , "bot"  : {7 , 3}
 , "user" : {0 , 7}
 , "bot"  : {3 , 3}
 , "bot"  : {4 , 9}
 , "user" : {6 , 1}
 , "bot"  : {0 , 9}
 , "user" : {3 , 9}
 , "bot"  : {3 , 3}
 , "user" : {5 , 8}
 , "bot"  : {6 , 3}
 , "user" : {1 , 9}
 , "bot"  : {5 , 0}
 , "user" : {3 , 9}
 , "bot"  : {5 , 3}
 , "user" : {3 , 4}
 , "bot"  : {8 , 4}
 , "user" : {3 , 2}
 , "user" : {6 , 0}
 , "user" : {0 , 8}
 , "bot"  : {0 , 2}
 , "user" : {3 , 8}
 , "bot"  : {8 , 0}
 , "user" : {5 , 6}
 , "bot"  : {5 , 3}
 , "user" : {8 , 3}
 , "bot"  : {2 , 1}
 , "bot"  : {3 , 0}
 , "bot"  : {1 , 8}
 , "user" : {1 , 6}
 , "bot"  : {3 , 6}
 , "user" : {0 , 6}
 , "bot"  : {9 , 1}
 , "user" : {1 , 5}
 , "bot"  : {4 , 7}
 , "user" : {9 , 3}
 , "bot"  : {2 , 4}
 , "user" : {6 , 2}
 , "bot"  : {9 , 2}
 , "user" : {7 , 1}
 , "bot"  : {4 , 4}
 , "user" : {7 , 6}
 , "bot"  : {8 , 9}
 , "user" : {7 , 0}
 , "bot"  : {8 , 9}
 , "user" : {5 , 0}
 , "user" : {9 , 3}
 , "bot"  : {4 , 8}
}
,
"result" : "bot"
}

最佳答案

因为那不是有效的 JSON。您有对象 ({...}),REQUIRE "key":"value" 符号。如果这些是数组 ([...]),那么它们就是有效的。

您首先使用什么生成此“json”?一个合适的 JSON 库永远不会犯这样的错误。如果您手动执行此操作,那么......不要。

关于php - 格式错误的 JSON 字符串需要针对 PHP 进行更正,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39667791/

相关文章:

php - 显示字符串反序列化 wordpress

php - 出生日期仅按升序排列的月份和日期

c++自定义字符串格式使用stringstreams

c# - 在 C# 中,如何将此数据结构转换为 Json

java - VerticaCopyStream 非常慢

PHP 代码设计、结构、模式..?

PHP 从某个日期(带时间)获取下一个星期一

c++ - std::disjunction 中的短路模板特化

c++ - vector 分配是否会使 `reserve` 无效?

javascript - 如何将此 JSON 数据格式化为日期 (mm/dd/yyyy)