я хочу изменить значение свойства JSON с помощью Angularjs1, но после изменения он заменяет весь JSON - PullRequest
0 голосов
/ 14 мая 2018

У меня есть динамический JSON

{
"data": {
    "cols": ["3016", "3017", "3018", "3019", "3020", "3021", "3022", "3023"],
    "consumer_desc": " ",
    "form_id": "16",
    "ph_id": "409",
    "seasons": ["1", "2", "3"],
    "usage": [
        ["1", "4", "7"],
        ["2", "5", "8"],
        ["3", "6", "9"]
    ],
    "user_id": "6",
    "vals": [{
        "season": "SUMMER",
        "usage": [
            ["NORMAL", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000"],
            ["PEAK", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000"],
            ["OFF-PEAK", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000"],
            ["TOTAL SUMMER", "=SUM(B1:B3)", "=SUM(C1:C3)", "=SUM(D1:D3)", "=SUM(E1:E3)", "=SUM(F1:F3)", "=SUM(G1:G3)", "=SUM(H1:H3)", "=SUM(I1:I3)"]
        ]
    }, {
        "season": "MONSOON",
        "usage": [
            ["NORMAL", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000"],
            ["PEAK", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000"],
            ["OFF-PEAK", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000"],
            ["TOTAL MONSOON", "=SUM(B1:B3)", "=SUM(C1:C3)", "=SUM(D1:D3)", "=SUM(E1:E3)", "=SUM(F1:F3)", "=SUM(G1:G3)", "=SUM(H1:H3)", "=SUM(I1:I3)"]
        ]
    }, {
        "season": "WINTER",
        "usage": [
            ["NORMAL", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000"],
            ["PEAK", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000"],
            ["OFF-PEAK", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000"],
            ["TOTAL WINTER", "=SUM(B1:B3)", "=SUM(C1:C3)", "=SUM(D1:D3)", "=SUM(E1:E3)", "=SUM(F1:F3)", "=SUM(G1:G3)", "=SUM(H1:H3)", "=SUM(I1:I3)"]
        ]
    }]
},
"message": "Form 1.9(b) matrix fetched Successfully",
"status": 1
}

Я хочу обновить "consumer_desc", используя значение области.Итак, я написал

$scope.subStationsData.consumer_desc = $scope.searchName;
  var  raw = $scope.subStationsData;
  console.log('raw: ',raw);
  console.log('$scope.searchName: ',$scope.searchName);

В $scope.subStationsData я получаю JSON динамически, а в $scope.searchName я получаю значение, которое я хочу добавить в "consumer_desc".Но когда я поддерживаю raw, я получаю

raw: [consumer_desc: "testing"] $ scope.searchName: testing

Я хочу получить

{
"data": {
    "cols": ["3016", "3017", "3018", "3019", "3020", "3021", "3022", "3023"],
    "consumer_desc": "testing",
    "form_id": "16",
    "ph_id": "409",
    "seasons": ["1", "2", "3"],
    "usage": [
        ["1", "4", "7"],
        ["2", "5", "8"],
        ["3", "6", "9"]
    ],
    "user_id": "6",
    "vals": [{
        "season": "SUMMER",
        "usage": [
            ["NORMAL", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000"],
            ["PEAK", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000"],
            ["OFF-PEAK", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000"],
            ["TOTAL SUMMER", "=SUM(B1:B3)", "=SUM(C1:C3)", "=SUM(D1:D3)", "=SUM(E1:E3)", "=SUM(F1:F3)", "=SUM(G1:G3)", "=SUM(H1:H3)", "=SUM(I1:I3)"]
        ]
    }, {
        "season": "MONSOON",
        "usage": [
            ["NORMAL", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000"],
            ["PEAK", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000"],
            ["OFF-PEAK", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000"],
            ["TOTAL MONSOON", "=SUM(B1:B3)", "=SUM(C1:C3)", "=SUM(D1:D3)", "=SUM(E1:E3)", "=SUM(F1:F3)", "=SUM(G1:G3)", "=SUM(H1:H3)", "=SUM(I1:I3)"]
        ]
    }, {
        "season": "WINTER",
        "usage": [
            ["NORMAL", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000"],
            ["PEAK", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000"],
            ["OFF-PEAK", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000", "0.000"],
            ["TOTAL WINTER", "=SUM(B1:B3)", "=SUM(C1:C3)", "=SUM(D1:D3)", "=SUM(E1:E3)", "=SUM(F1:F3)", "=SUM(G1:G3)", "=SUM(H1:H3)", "=SUM(I1:I3)"]
        ]
    }]
},
"message": "Form 1.9(b) matrix fetched Successfully",
"status": 1
}

Я буду благодарен, если вы поможете мне решить эту проблему.

1 Ответ

0 голосов
/ 14 мая 2018
$scope.subStationsData.data.consumer_desc = $scope.searchName;

Попробуйте это.

...