Como criar lista de JSON Array?

Eu tenho arrays e loops de compreensão de problemas, portanto essa tarefa é um pouco confusa para mim. Aqui estão minhas coisas;

JSON

{
"states": [
    { 
        "name":"johor" , 
        "command":"view_johor" }, 

    { 
        "name":"selangor" , 
        "command":"view_selangor" }, 

    { 
        "name":"melaka" , 
        "command":"view_melaka" }, 

    { 
        "name":"kuala lumpur" , 
        "command":"view_kl" }, 

    { 
        "name":"penang" , 
        "command":"view_penang" }
    ]
}

JAVASCRIPT

$(function(){

$.ajax({
    type        :   'GET',
    url         :   'scripts/list.json',
    async       :   false,
    beforeSend  :   function(){/*loading*/},
    dataType    :   'json',
    success     :   function(result){

                        $.each(result, function(index, val){
                            for(var i=0; i < val.length; i++){
                                var item = val[i];
                                console.log(item.name)
                                }
                        });         

                        },
   });
});

Meu problema é que não sei usar o loop para que meu HTML retorne assim:

<ul>
   <li><a href="#view_johor">Johor</a></li>
   <li><a href="#view_selangor">Selangor</a></li>
   <!-- and so on, dynamically depending on json... -->
</ul>

Eu posso acessar os dados viaconsole.log(item.name) e tal, mas não posso manipular os dados para que eles sejam exibidos como eu queria. Eu nem sei o termo a ser usado para pesquisar perguntas, pois sei que isso é como um material básico ... Obrigado antecipadamente pela sua ajuda!

questionAnswers(5)

yourAnswerToTheQuestion