图书馆地址
https://github.com/douglascrockford/JSON-js
HTML
<input name="title[]" type="text" value="a1">
<input name="content[]" type="text" value="a2">
<input name="title[]" type="text" value="b1">
<input name="content[]" type="text" value="b2">
<input id="result" type="text">
的JavaScript
var result = [];
$('[name="title[]"]'].each(function(index) {
content = $('[name="content[]"]').eq(index).val();
result.push({title: $(this).val(), content: content});
});
$('#result').val(JSON.stringify(result));
当我保存它时,我在数据库中得到了这个
"[{\"title\":\"a\",\"content\":\"a2\"},{\"title\":\"b\",\"content\":\"b2\"}]"
当我var_dump json_decode时,我得到了
string '[{"title":"a","content":"a2"},{"title":"b","content":"b2"}]' (length=59)
如何获得正确的json格式
PHP
我使用Laravel作为框架,这个字段名为data
public function setDataAttribute($value) {
$this->attributes['data'] = json_encode($value);
}
public function getDataAttribute($value) {
return json_decode($value);
}
答案 0 :(得分:1)
您已在json string
字段中发布了result
,因此在将数据保存到数据库之前不需要json_code
public function setDataAttribute($value) {
$this->attributes['data'] = $value;
}
它可以正常工作..
这是json编码数据:
'[{"title":"a","content":"a2"},{"title":"b","content":"b2"}]'
再次编码json字符串
json_encode('[{"title":"a","content":"a2"},{"title":"b","content":"b2"}]');
然后结果
"[{\"title\":\"a\",\"content\":\"a2\"},{\"title\":\"b\",\"content\":\"b2\"}]"