【问题标题】:Get all json key and value from an external json file in MVC with javascript使用 javascript 从 MVC 中的外部 json 文件中获取所有 json 键和值
【发布时间】:2018-03-12 14:52:33
【问题描述】:

我正在创建一个 Web 应用程序,其中有一个 Json 文件,其中有许多带有值的键,如下所示,

{
  "Login_Header_Text": "Login",
  "Login_Header_Recent_Updates": "Recent Updates",
  "Login_TextBox_UserName": "User Name",
  "Login_TextBox_Password": "Password",
  "Login_Button_Login": "Log In",
  "Login_ErrorMessage_Usernamerequired": "User name required",
  "Login_ErrorMessage_Passwordrequired": "Password required.",
  "Login_ErrorMessage_Invalid_Credentials": "Invalid user name/password",
}

我可以检索如下值

<script>
       console.log('@HttpContext.GetGlobalResourceObject("", "Login_TextBox_UserName")');
</script>

现在,我如何检索整个 json 文件数据并将其打印到我的console

如果我在 json 文件中有 55 条记录,那么整个数据应该打印在 console.log

这样做的正确方法是什么?

【问题讨论】:

  • 这是 javascript 相关的还是您尝试解析服务器端的 json 文件,就像您的代码行所建议的那样?
  • console.log(JSON.stringify(data))?
  • @James 更新了我的问题
  • 它似乎只是服务器端代码。您不会尝试通过 AJAX 或其他方式将该 JSON 导入浏览器。

标签: javascript json model-view-controller


【解决方案1】:

我会这样做。在 C# 和 javascript 中

假设我们有这个 js

var json = [{Name: "test", Passowrd:"test" }]

在 C# 中我会将其转换为类

public class myjson{

public string Name { get; set;}

public string Password { get; set;}
}

然后对属性进行反射调用

public GetValue(this myjson o, string propertyName){
return o.GetType().GetProperty(propertyName).GetValue(o);
}

在 Jsvascript 中我会称之为

var value = json[0][property]

希望对你有帮助

【讨论】:

    【解决方案2】:

    你好,我想这对你有帮助,我做了一个小例子,拿起一个用 Ajax 写的答案并写在控制台中。

    看成功的函数,我想这就是你要找的

    function formToJSON(form) {
        var obj = {};
        var elements = form.querySelectorAll("input, select, textarea");
        for (var i = 0; i < elements.length; ++i) {
            var element = elements[i];
            var name = element.name;
            var value = element.value;
    
            if (name) {
                obj[name] = value;
            }
        }
    
        return obj;
    }
    
    function test(id, url, method) {
            var data = formToJSON(document.getElementById(id));
            $.ajax({
                type: method,
                url: url,
                data: data,
                success: function (output, status, xhr) {
                    var response = JSON.parse(xhr.responseText);//<--- here is your JSON
                    for (var item in response) { // and set for to  print indivual 
                        console.log(item+' '+response[item]);
                    }
                    console.log(response);
                },
                cache: false
            });
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-31
      • 1970-01-01
      • 2013-11-03
      • 2021-12-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多