Luckily, I found a workflow(alfred-things workflow) that has successfully converted a list into JSON FORMAT and used it in a Script Filter just within AppleScript.
That's part of his code:
on add_item given title:_title, subtitle:_sub, arg:_arg, valid:_valid
set title to "{\"title\": \"" & _title & "\", "
set subtitle to "\"subtitle\": \"" & _sub & "\", "
set arg to "\"arg\": \"" & _arg & "\", "
set valid to "\"valid\": " & _valid & "}, "
set theItem to title & subtitle & arg & valid
set end of my _items to theItem
return my _items
end add_item
on to_json()
set json to "{\"items\": [" & text 1 thru -3 of (my _items as text) & "]}"
return json
end to_json
I tried to adjust his code for my use, and I found it works!