А как вы отображаете/скрываете элементы? А то можно и как-то так сделать:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input class="json" type="text" name="first" value="001">
<input class="json" type="text" name="two" value="002">
<input class="" type="text" name="last" value="003">
<script>
window.onload = function(){
var str = [];
var jsonList = document.querySelectorAll('.json');
for(var i = 0; i < jsonList.length; i++){
var temp = {};
temp.name = jsonList[i].getAttribute('name');
temp.value = jsonList[i].value;
str[str.length] = temp;
}
console.log(str);
}
</script>
<style>
input{
display:none;
}
.json{
display:block;
}
</style>
</body>
</html>
Смотрите в консоль, там довольно приятный массив формируется в щадящем для мозга виде)