使用React.js更新JSON数组

时间:2016-01-09 11:54:03

标签: javascript json reactjs

这是我的JSON数组。

<System.Runtime.CompilerServices.Extension>
Public Function HasAttribute(Of TABLEENTITY, ATTRTYPE)(md As ModelMetadata) As Boolean
    Dim properyName As String = md.ContainerType.GetProperty(md.PropertyName).ToString()

    Dim att As MetadataTypeAttribute = DirectCast(Attribute.GetCustomAttribute(GetType(TABLEENTITY), GetType(MetadataTypeAttribute)), MetadataTypeAttribute)
    If att IsNot Nothing Then
        For Each prop In Type.[GetType](att.MetadataClassType.UnderlyingSystemType.FullName).GetProperties()
            If properyName.ToLower() = properyName.ToLower() AndAlso Attribute.IsDefined(prop, GetType(ATTRTYPE)) Then
                Return True
            End If
        Next
    End If

    Return False
End Function

我需要更新这个数组。例如,让我们处理notificationType数据。

我想更新“selected”:null值为“selected”:true。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

只需遍历您的数据,例如:

var data = {
    rows: [ {
            'id': 1,
            'first_name': 'William',
            'last_name': 'Elliott',
            'email': 'welliott0@wisc.edu',
            'country': 'Argentina',
            'ip_address': '247.180.226.89',
            'notificationType': [
                { 'type': 'update', 'text': 'New Update', 'selected': null },
                { 'type': 'user', 'text': 'New User', 'selected': null }
            ]
        } 
    ]
};

data.rows.forEach(function(row) {
    row.notificationType.forEach(function(notif) {
        notif.selected = true;
    });
});

或者如果您想更新特定通知:

data.rows[0].notificationType[1].selected = true;
//--------^ row index
//----------------------------^ notification index