2016-09-23 85 views
1

我用cout的组合来制作一个C++程序来获取输出为JSON字符串,这样我就可以使用json_decode函数在PHP中解码它。我用我自己的逻辑生成了字符串。 我相信在输出字符串中存在问题,但即使花费数小时,我也无法找到它。 var_dump(json_decode($ string,TRUE));给出了格式不正确的JSON字符串需要PHP的更正

NULL 

json_last_error_msg();给出

quoted object property name expected 

json_last_error();给

4 

我想在PHP5使用json_decode($字符串,TRUE)解码的原始字符串,平台:Ubuntu的14.04 x64的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" 
} 
+1

'{...}'用于对象,内容必须是''键':值'对。什么是'{7,6}'应该是? – Barmar

+3

如果您要编写自己的JSON编码器,也许应该阅读JSON规范。它在json.org上。 – Barmar

+0

感谢您的回复 – cppxaxa

回答

3

因为这不是有效的JSON。您有对象({...}),其中要求"key":"value"表示法。如果这些是数组([...]),那么它们是有效的。

你用什么来首先生成这个“json”?一个适当的JSON库永远不会犯这样的错误。如果你手动做,那么...不要。

+0

“我用我自己的逻辑生成了字符串”......我担心最坏的 – code11

1

您的json无效,因为您可以轻松检查http://jsonlint.com/

,你可以在你的美化JSON的第4行中看到的第一个问题:

{ 
"initUserGrid" : 
{ 
    { 
    ^This is wrong 

一个{指键的开始 - 值对打完第一{你总是需要一个双引号字符串。

+0

在技术上它是“对象的开始”,然后必须紧跟一个键。 –

+0

@MarcB是的,这可能不会增加太多的意见和你的答案... – jeroen

0

我修改后的最终更改。我的数组语法是错误的。这个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": [{ 
     "chance": "user", 
     "point": [9, 5], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [4, 2], 
     "hit": true 
    }, { 
     "chance": "bot", 
     "point": [5, 7], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [4, 0], 
     "hit": true 
    }, { 
     "chance": "user", 
     "point": [7, 5], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [7, 5], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [8, 2], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [8, 2], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [9, 8], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [0, 8], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [7, 7], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [2, 7], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [5, 6], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [4, 0], 
     "hit": true 
    }, { 
     "chance": "bot", 
     "point": [9, 8], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [1, 4], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [3, 5], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [2, 1], 
     "hit": true 
    }, { 
     "chance": "user", 
     "point": [8, 4], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [9, 5], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [5, 0], 
     "hit": true 
    }, { 
     "chance": "user", 
     "point": [1, 1], 
     "hit": true 
    }, { 
     "chance": "user", 
     "point": [5, 3], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [3, 4], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [2, 0], 
     "hit": true 
    }, { 
     "chance": "user", 
     "point": [5, 7], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [9, 8], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [8, 5], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [1, 1], 
     "hit": true 
    }, { 
     "chance": "bot", 
     "point": [3, 9], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [5, 6], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [7, 2], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [6, 9], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [6, 7], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [1, 0], 
     "hit": true 
    }, { 
     "chance": "user", 
     "point": [0, 4], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [3, 4], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [8, 6], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [7, 0], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [1, 2], 
     "hit": true 
    }, { 
     "chance": "user", 
     "point": [4, 7], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [0, 1], 
     "hit": true 
    }, { 
     "chance": "bot", 
     "point": [4, 4], 
     "hit": true 
    }, { 
     "chance": "bot", 
     "point": [6, 8], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [2, 8], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [4, 8], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [9, 9], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [4, 1], 
     "hit": true 
    }, { 
     "chance": "bot", 
     "point": [1, 0], 
     "hit": true 
    }, { 
     "chance": "bot", 
     "point": [3, 0], 
     "hit": true 
    }, { 
     "chance": "bot", 
     "point": [3, 2], 
     "hit": true 
    }, { 
     "chance": "bot", 
     "point": [8, 7], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [5, 4], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [0, 6], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [9, 6], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [5, 7], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [1, 0], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [4, 8], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [9, 9], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [3, 8], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [8, 1], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [6, 4], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [5, 6], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [8, 5], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [7, 3], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [6, 7], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [5, 1], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [8, 8], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [3, 2], 
     "hit": true 
    }, { 
     "chance": "user", 
     "point": [5, 4], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [3, 9], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [6, 8], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [6, 3], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [3, 9], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [4, 4], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [8, 5], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [0, 7], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [0, 9], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [9, 8], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [1, 3], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [2, 2], 
     "hit": true 
    }, { 
     "chance": "bot", 
     "point": [4, 3], 
     "hit": true 
    }, { 
     "chance": "bot", 
     "point": [7, 0], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [3, 6], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [3, 9], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [4, 5], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [2, 1], 
     "hit": true 
    }, { 
     "chance": "bot", 
     "point": [8, 9], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [9, 1], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [7, 1], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [3, 6], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [8, 8], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [5, 7], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [6, 7], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [2, 7], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [2, 3], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [1, 6], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [6, 0], 
     "hit": false 
    }, { 
     "chance": "user", 
     "point": [7, 0], 
     "hit": true 
    }, { 
     "chance": "user", 
     "point": [3, 1], 
     "hit": true 
    }, { 
     "chance": "user", 
     "point": [1, 5], 
     "hit": false 
    }, { 
     "chance": "bot", 
     "point": [5, 3], 
     "hit": false 
    }], 
    "result": "bot" 
}