2016-10-13 35 views
1

我從MySQL查詢陣列,test.php的

$rows =Array ([0] => Array ([name] => nikhil) [1] => Array ([name] => akhil))

我轉換成JSON格式字符串和回聲它

$jsonstring = json_encode($rows); 
echo $jsonstring; 

OUTPUT:

[{」 name「:」nikhil「},{」name「:」akhil「}]

我知道這仍然不是一個JSON格式,但它是一個數組

(的JSON),但現在我可以在jquery.php

$.post("/test.php",function(r){var jsonobject = $.parseJSON(r); 
    for(var i=0;jsonobject[i];i++){ 
    $("#userslist").append("<br>" + jsonobject[i].name);} 

使用$.parseJSON它properlly解析它,我可以訪問此json對象,但正如我們所知,

$.parseJSON()只將格式良好的json字符串轉換爲對象。 http://api.jquery.com/jquery.parsejson/

$ .parseJSON():採用格式正確的JSON字符串並返回結果JavaScript值。

那麼$.parseJSON()如何解析數組?有任何想法嗎?

+2

「輸出」數組**是** JSON。 – Pointy

+1

它是有效的JSON格式,因爲它包含數組:http://www.json.org/ – Ultimater

+0

它不是一個JSON,它是一個數組,一個正確的JSON將是'{「users」:[{「name」:「 nikhil「},{」name「:」akhil「}]}' – beginner

回答

7

甲JSON值可以是:

  • 一個數字;
  • 一個字符串;
  • null,truefalse;
  • JSON值的數組;
  • 一個由字符串屬性名稱和每個JSON值組成的對象。

所以

[{"name":"nikhil"},{"name":"akhil"}] 

是一個非常好的JSON值。它是一個包含兩個值的數組,每個值都是具有一個字符串值的單個屬性的對象。

+0

你說的JSON值,你的意思是json值,我認爲在'{「users」:[{「name」:「nikhil」},{「name」:「akhil」}]}'JSON值是一個數組,這是沒問題的 – beginner

+0

@beginner不,這是不正確的。一個數組肯定是一個有效的JSON值,'JSON.parse()'能夠解析它的事實應該是你需要的所有證據。 – Pointy

+0

謝謝,我在某處讀到Array不是json,json應該只能是'{「name」:「value」}'格式。我非常感激。很高興知道我的假設是錯誤的 – beginner