Javascript 如何在没有第一个元素的情况下从json对象返回错误字符串

Javascript 如何在没有第一个元素的情况下从json对象返回错误字符串,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,这是我的json对象 {"result":0, "last-name":'please enter your last name', "quantity":'quantity must be a number', "email": 'please enter a valid email '} 我需要元素“result”:0,因为它让我知道有错误,这样我就可

这是我的json对象

                {"result":0,
                  "last-name":'please enter your last name',
                  "quantity":'quantity must be a number',
                  "email": 'please enter a valid email '}
我需要元素“result”:0,因为它让我知道有错误,这样我就可以将它传递给错误字符串

但是,我需要从错误输出字符串中删除0,因为最终用户只需要输出错误消息。 我尝试将对象更改为数组,也尝试了一些数组方法,如pop()和slice(),但在将它们付诸实施时遇到了问题。我想我可能需要循环数组,但这似乎太过杀戮了,因为我知道我只想删除始终处于开始阶段的“result”元素

以下是我返回错误数组的方式:

 var errorString = '<div class="alert alert-danger">';

            errorString  +=    '<table >';
            for( key in o) {
            errorString +=   '<tr>';
            errorString  +=   '<td>';

            errorString +=  o[key]  ;
            errorString +=   '</tr>';
            // alert( " " + [ key ] + ", " + o[ key ] );
            }
            errorString += '</table>' ;
            errorString += '</div>' ;

            $(".info").append(errorString);


                    $(function() {
                            $('.info').delay(1000).fadeOut('.info', function() {
                            $('.info').empty();
                            $('.info').show();
                                                                              });
                                  });
var errorString='';
errorString+='';
用于(输入o){
errorString+='';
errorString+='';
errorString+=o[键];
errorString+='';
//警报(“+[键]+”,“+o[键]);
}
errorString+='';
errorString+='';
$(“.info”).append(errorString);
$(函数(){
$('.info').delay(1000).fadeOut('.info',function()){
$('.info').empty();
$('.info').show();
});
});
试试这个:

var jsonObj = {"result":0,
              "last-name":'please enter your last name',
              "quantity":'quantity must be a number',
              "email": 'please enter a valid email '};
delete jsonObj.result;
// or
delete jsonObj['result'];

用于从JSON对象中删除属性,然后将其传递给错误处理方法

var yourJSONObj=JSON.parse(yourJsonString);

delete yourJSONObj.result;
像这样试试

var obj = {"result":0,
              "last-name":'please enter your last name',
              "quantity":'quantity must be a number',
              "email": 'please enter a valid email '}


obj.result returns the "result" key only

delete obj.result will return the object without the result key

然后你可以迭代或者做你想做的事情。

试试这个:它使用jQuery方法

var o = {
"result":0,
"last-name":'please enter your last name',
"quantity":'quantity must be a number',
"email": 'please enter a valid email '};

var errorString  = '<table >';
$.each(o, function(i, key){

    if(i != "result")// check for result
    {
        errorString += '<tr>';
        errorString  += '<td>';
        alert(key);
        errorString += key  ;
        errorString  +='</td>';
        errorString +='</tr>';
    }
});
errorString += '</table>';
var o={
“结果”:0,
“姓氏”:“请输入您的姓氏”,
“数量”:“数量必须是数字”,
“电子邮件”:“请输入有效电子邮件”};
var errorString='';
$。每个(o,功能(i,键){
if(i!=“result”)//检查结果
{
errorString+='';
errorString+='';
警报(键);
errorString+=键;
errorString+='';
errorString+='';
}
});
errorString+='';

这里是如果您有一个字符串,那么执行
JSON.parse
转换为JSON对象。否则,首先检查是否存在错误,如果是,则在删除第一个属性后迭代对象

演示:

示例代码:

var s = '{"result":0, "last-name":"please enter your last name", "quantity":"quantity must be a number", "email":"please enter a valid email"}' ;

var j = JSON.parse(s); // If a string, first make a json object

if (! j.result) { // check if there is an error, 0 means false
    delete j.result; // if there is an error, delete the first property
    for(var key in j) { // iterate the object properties
        // key  contains the property name
        // j[key]  contains the property value
    }
}

谢谢,太棒了!谢谢,太棒了!