如何通过JavaScript更改JSON对象

时间:2019-01-22 14:48:30

标签: javascript json jira jira-rest-api

我正在尝试让用户输入要通过json传递的jira项目。我目前所拥有的是通过其他评论发现的,但是并没有帮助。

Javascript:

document.getElementById('scYes').onclick = function() {
   var jiraProject = document.getElementById('jiraProject');
   const xhr = new XMLHttpRequest();
   const url = 'https://jira2dev.cerner.com/rest/api/2/issue/';
   xhr.open("POST", url, true);
   xhr.setRequestHeader("Content-Type", "application/json");
   xhr.onReadyStateChange = function() {
    if (xhr.readyState == 4 && xhr.status == 200) {
        var json = JSON.parse(' "fields": { "project": {"key": "TENX" }, "parent":{ "ID": "1","key": "TENX-410"},"summary": "Test Entering Task","description": "TEST","issuetype":{"id": "5"}}');

        for (var i = 0; i < json.length; i++) {
            if (json[i].Id == 1) {
                json[i].parent.key = jiraProject;
                break;
            }
        }

        console.log(json);
        xhr.send();
    }
};

};

我希望能够请求用户输入,并根据输入的内容更改jira父键。这应该创建一个jira子任务,其父任务是用户输入的任务。

2 个答案:

答案 0 :(得分:0)

因为您的json[i].Id不存在...您拥有类似的json[i].fields.parent.id

您的jiraProject必须执行相同的模式

您可以在此处进行测试: https://www.w3schools.com/js/js_json_parse.asp

注意您的json结构;应该是这样的>

'{ "name":"John", "age":30, "city":"New York"}'

答案 1 :(得分:0)

您只需像其他字符串一样将其添加到代码中即可。

'{"name": "John", "age": 30, "country": +"'user input'"+ ,"city":"New York"}'