我不确定Im是否在正确的路径上,但是我想将文本从文本区域转换为JSON对象。
有效负载应如下所示。
{
"intent":"SanFransico",
"examples":[
{
"text":"San Fran"
},
{
"text":"Bay Area"
}
]
}
我现在能做的是在此文本区域中发送
<textarea name="intent[intent]">SanFransico</textarea>
<textarea name="intent[examples][text]">San Fran</textarea>
<textarea name="intent[examples][text]">Bay Area</textarea>
不幸的是
返回的有效负载如下所示,并且不返回第二个文本字段。
{
"intent":
{
"intent":"SanFransico",
"examples":{
"text":"Bay Area"
}
}
}
我有一个提琴手林正在试验白色。 https://jsfiddle.net/8w4tx1pk/
是否有正确的方法?还是我需要一个更复杂的功能?
答案 0 :(得分:2)
修复了你的小提琴后,我得以解决。
提琴:https://jsfiddle.net/Twisty/8w4tx1pk/11/
HTML
<div class="container">
<form id="my-profile">
<textarea name="intent">San Francisco</textarea>
<textarea name="examples[][text]">San Fran</textarea>
<textarea name="examples[][text]">Bay Area</textarea>
<div class="clearfix">
<button type="button" id="btnSerialize" class="btn btn-primary pull-right">serializeToJSON</button>
</div>
<div class="form-group">
<textarea id="result" class="form-control" rows="10"></textarea>
</div>
</form>
</div>
JavaScript
$(function() {
$("#btnSerialize").on("click", function() {
var obj = $('#my-profile').serializeJSON();
console.log(obj);
var jsonString = JSON.stringify(obj);
$("#result").val(jsonString);
})
});
结果
{
"intent":"San Francisco",
"examples":[
{
"text":"San Fran"
},{
"text":"Bay Area"
}
]
}