2013-01-31 35 views
0

我有數據的文本字段,是這樣的:MySQL的 - 從獲取自定義字段的數據具有隻讀訪問DB

[{"id":10001,"timeStarted":1355729600733,"projectId":10002,"issueId":"29732,","userName":"tester","assignee":"test","status":"STARTED","shared":True,"name":"Session 4","projectName":"IDS","assigneeDisplayName":"First1 Last1"}, 
{"id":10002,"timeStarted":1358354188010,"projectId":10002,"issueId":"","userName":"tester","assignee":"test","status":"CREATED","shared":True,"name":"asdf98798","projectName":"IDS","assigneeDisplayName":"First Last"}] 

,但有更多的行,它可能是30-40,並且可以有兩種不同的狀態(共4種)。

是否可以從這裏提取一些數據,只讀訪問數據庫並只使用MySQL查詢?

例如,計算狀態爲「已聲明」且狀態爲「已創建」的項目數。 可能適用其他條件,例如id在確定的時間間隔內。

+1

你問你如何從給定的JSON響應中提取一些數據,或者你是問你如何調整輸出這些數據的查詢?如果是後者,那麼你提供的輸出與你的問題無關。你需要分享你的db查詢(輸出這個響應)。 – inhan

+0

不,第一,我沒有任何查詢,只知道這個字段與數據庫中的JSON的位置。 – annvio

+0

你將使用什麼語言來完成這項任務? Javascript,PHP或其他東西? – inhan

回答

0

假設你使用PHP,首先你最好糾正那些無法識別的布爾值。你有True它應該是trueTRUE對於PHP),因爲它評估數據權利。

$jsStr = preg_replace_callback(
'~(?<=[,{[])(".+?"\s*:\s*)(true|false)(?=\s*[,}\]])~i', 
create_function('$m','return $m[1].strtolower($m[2]);'), 
$jsStr); 

然後爲了能夠處理它,你想使用json_decode()函數。

$parsed = json_decode($jsStr); 
// see the result if you like: 
// print_r($parsed); 

最後,如果你想提取的(使用Javascript),你可以,如果你不使用jQuery使用濾鏡陣列()函數或循環中的客戶端的一些具體信息。否則,您可以在必要條件下使用jQuery filter() function

如果您想在PHP中執行此操作,將字符串解析爲JSON後,您可以使用適用於Javascript的解決方案。

相關問題