Note that your "standard JSON" isn't actually JSON (there's an extra comma before the closing `]` in `HTTP_SERVER`).
Also, `sed` will only work if the source is formatted in the way you need it, it won't work for arbitrary JSON (which may not have line breaks).
So a better solution is to use `jq`, as in
$ jq --arg list "$list_of_machine" '.HTTP_SERVER|=.+($list|split(" "))' < your_file.json
{
"MNN_server": [
"master02.sys645.com"
],
"HTTP_SERVER": [
"master01.sys645.com",
"worker01.sys645.com",
"worker02.sys645.com",
"worker03.sys645.com",
"worker04.sys645.com",
"worker05.sys645.com"
]
}
with a well-formed `your_file.json`, of course.