如下图,是后台返回的数据,前端需要取到LIST2中的JNAME及ID两个字段,
    image.png

    使用JSON.parse()把json字符串转成json对象时报错。注意,仔细看上面返回的LIST2字段中的key和value都是没有引号引起的。所以才会报错,让后台处理下返回正确的JSON字符串再返回即可。
    image.png

    LIST2返回正确的JSON字符串应是如下,前端才好处理:
    image.png

    image.png

    这是返回的格式错误的JSON字符串后,前端处理获取所需要的JNAME和ID字段

    1. var datas_list2 = data[i].LIST2.replace('[{','').replace('}]','').split('},');
    2. var datas_str='',datas_arr='';
    3. var obj={}
    4. for(var j=0;j< datas_list2.length;j++){
    5. datas_str = datas_list2[j].replace('{','').replace('}','').split(',');
    6. for(var k=0;k<datas_str.length;k++){
    7. datas_arr =datas_str[k].split('=');
    8. obj[datas_arr[0].replace(/\s|\{|\}/g,'')] = datas_arr[1]
    9. }
    10. console.log(obj)
    11. for(a in obj){
    12. html +='<input type="checkbox" name="'+ obj['ID'] +'" title="'+ obj['JNAME'] +'" lay-skin="primary"/>'
    13. var names='',ids='';
    14. if(a == 'JNAME'){
    15. names = obj[a];
    16. if(a == 'ID'){
    17. ids = obj[a];
    18. console.log('键'+a+';值'+obj[a])
    19. }
    20. }
    21. }
    22. }