MySQL - 从自定义字段获取数据,并具有对db的只读访问权限

时间:2013-01-31 20:54:55

标签: mysql

我有一个包含数据的文本字段,如:

[{"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,可能是2个不同的状态(总共4)。

是否有可能从这里提取一些只具有DB只读权限且只使用MySQL查询的数据?

例如,计算状态为“Stated”且状态为“created”的项目数。 附加条件可能适用,例如其中id是一定的间隔。

1 个答案:

答案 0 :(得分:0)

假设你正在使用PHP,首先你最好纠正那些未被识别的布尔值。您True应该是true TRUE for 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)提取一些特定信息,你可以使用Array filter()函数或循环,如果你不使用jQuery。否则,您可以在必要条件下使用jQuery filter() function

如果你想在PHP中执行此操作,在将字符串解析为JSON之后,您可以使用适用于Javascript的解决方案。