jpmckinney / validictory

🎓 deprecated general purpose python data validator
Other
240 stars 57 forks source link

Need help interpreting validictory.validator.FieldValidationError #68

Closed nueverest closed 10 years ago

nueverest commented 10 years ago

I'm getting an error:

validictory.validator.FieldValidationError: Length of list  <the json data>  for field '_data' is not equal to length of schema list

Inside of my json data there does not exist a field named '_data'. Could you help dispel my confusion?

The length of the array of json objects could be quite large.

Lots more detail including: Stacktrace, Python Code, and JSON file. Here is my Error Message:

Traceback (most recent call last):
  File "~/get_events/json/group_json_schema.py", line 88, in <module>
    validictory.validate(sample_group_data, group_schema)
  File "C:\Python27\lib\site-packages\validictory\__init__.py", line 36, in validate
    return v.validate(data, schema)
  File "C:\Python27\lib\site-packages\validictory\validator.py", line 584, in validate
    self._validate(data, schema)
  File "C:\Python27\lib\site-packages\validictory\validator.py", line 587, in _validate
    self.__validate("_data", {"_data": data}, schema)
  File "C:\Python27\lib\site-packages\validictory\validator.py", line 618, in __validate
    newschema.get(schemaprop))
  File "C:\Python27\lib\site-packages\validictory\validator.py", line 260, in validate_items
    "of schema list", value, fieldname)
  File "C:\Python27\lib\site-packages\validictory\validator.py", line 160, in _error
    raise FieldValidationError(message, fieldname, value)
validictory.validator.FieldValidationError: Length of list [{u'category': {u'shortname': u'Spirituality', u'id': 22, u'name': u'New Age & Spirituality'}, u'city': u'Sedona', u'join_mode': u'open', u'lat': 34.790000915527344, u'description': u'<p>The purpose of CENTER SPACE Sedona is to foster and facilitate spiritual, personal and community empowerment and enlightenment. <a href="http://www.centerspace.com">CENTER SPACE</a> is a non-profit membership organization that has been publishing, producing and sharing publications, seminars and membership services since 1985.</p>\n<p>For examples of prior programs and events featuring world-class authors and trainers for up to 1,800 participants, see <a href="http://normanvincentpeale.wordpress.com" target="_blank"></a><a href="http://normanvincentpeale.wordpress.com" target="_blank"></a><a href="http://normanvincentpeale.wordpress.com" target="_blank"></a><a href="http://normanvincentpeale.wordpress.com" target="_blank"></a><a href="http://normanvincentpeale.wordpress.com" target="_blank"></a><a href="http://normanvincentpeale.wordpress.com" target="_blank"><a href="http://normanvincentpeale.wordpress.com" title="http://normanvincentpeale.wordpress.com" target="_blank">http://normanvincentpeale.wordpress.com</a></a>, <a href="http://www.candoresourcecenter.com">www.candoresourcecenter.com</a> and <a href="http://www.seedonow.com">www.seedonow.com</a>.</p>\n<p>Formal establishment of a Sedona Chapter was a result of the new S<a href="http://www.sedonacollaborativeenterprises.com">edona Collaborative Enterprises</a> (www.sedonacollaborativeenterprises.com). Participants were invited to share their priority interests in six main project areas that follow in the order of partcipants\' priorities including: #1 Fostering Spiritual and Community Enlightenment; #2 <a href="http://www.sedonacollaborativeenterprises.com/intentional_communities.htm">Cocreating Intentional Community</a>;  #3<a href="http://www.sedonacollaborativeenterprises.com/retreat_centers.htm"> Cocreating a Retreat Center</a>; #4 <a href="http://www.usmark.org">Establishing a Public Company for Empowerment and Enlightenment</a>; #5 Expanding the <a href="http://www.ultimatedestinyuniversity.org">Ultimate Destiny University for Successful Living</a>; and #6 <a href="http://www.sedonacollaborativeenterprises.com/series_llc.htm">Creating a new Series Limited Liability Company</a> to attract funding for various for-profit ventures.</p>\n<p>As the top shared interest was spiritual, personal and community enlightenment, we decided to establish a Meet Up group as part of the process of sharing our vision, sense of mission and invite any other individuals and organizations who resonate with them to participate.</p>\n<p>If you are interested in spiritually centered approaches to solving the personal, community, national and global "success puzzles" we face including social, economic and environmental challenges, please do join this Meet Up and share your wisdom, expertise and experiences with us.</p>\n<p>Thank you for taking time to visit and review what we have shared so far.</p>\n<p>PS. If you would like an overview of how we are helping introduce the spiritual principles and practices known as New Thought, please visit <a href="http://www.universalcenterforspiritualliving.org">Universal Center for Spiritual Living</a>. In addition,&nbsp; the more ulimate vision we are participating in to help Solve Our Personal, Community and Global Success Puzzles is shared at <a href="http://www.ultimatesuccesspuzzle.com">Ultimate Success Puzzle.com</a></p>', u'created': 1288380544000L, u'country': u'US', u'who': u'Members', u'lon': -111.76000213623047, u'visibility': u'public', u'photos': [{u'thumb_link': u'http://photos3.meetupstatic.com/photos/event/1/3/9/4/thumb_337385012.jpeg', u'highres_link': u'http://photos3.meetupstatic.com/photos/event/1/3/9/4/highres_337385012.jpeg', u'photo_link': u'http://photos3.meetupstatic.com/photos/event/1/3/9/4/600_337385012.jpeg', u'id': 337385012}], u'state': u'AZ', u'group_photo': {u'thumb_link': u'http://photos4.meetupstatic.com/photos/event/5/2/3/8/thumb_19161048.jpeg', u'highres_link': u'http://photos4.meetupstatic.com/photos/event/5/2/3/8/highres_19161048.jpeg', u'photo_link': u'http://photos4.meetupstatic.com/photos/event/5/2/3/8/600_19161048.jpeg', u'id': 19161048}, u'link': u'http://www.meetup.com/Center-for-Spiritual-Personal-And-Community-Enlightenment/', u'members': 24, u'urlname': u'Center-for-Spiritual-Personal-And-Community-Enlightenment', u'next_event': {u'time': 1398303000000L, u'id': u'177972502', u'name': u'Exploring Possible Collaborative StewardHeirShip of 134 Acre Soda Springs Ranch'}, u'timezone': u'US/Arizona', u'organizer': {u'bio': u'I have lived in intentional communities for 25 years, have an MS in Community Economic Development, founded non-profits & companies that provide resources for personal, community & spiritual enlightenment. Seeking like hearted individuals in Sedona.', u'id': 8043119, u'name': u'Charles'}, u'id': 1730140, u'name': u'Center for Spiritual, Personal And Community Enlightenment'}, {u'category': {u'shortname': u'Social', u'id': 31, u'name': u'Socializing'}, u'city': u'Sedona', u'join_mode': u'open', u'lat': 34.790000915527344, u'description': u"<p>Wild Boomer Women is an instant community of girlfriends, events and activities for women over 40.</p>\n<p>Join us on the journey of getting out and having fun. Don't stay home just because you can't find other girlfriends to go out with, or you have other girlfriends but they don't seem to want to have fun. Meet new like minded girlfriends.</p>\n<p>We have been having fun in the greater Phoenix area since 2008 and formed a private club called The Bucket List Club in January, 2012 - we now have over 320 members. \xa0You can also join that group and attend events if you ever go down the hill.</p>\n<p>Please visit our website at wildboomerwomen.com to find out more about the group and get on our mailing list.</p>\n<p>HERE ARE THE REQUIREMENTS TO JOIN THIS GROUP: You must be open to new adventures, be a postivie thinker, outgoing, willing to share about yourself and open to having fun to join this group. If you are a negative person, complain or gossip, this group is not for you. This is not just a movie group or a dinner group - although we may do these things too. This is for women seeking adventure and fun. It is also not a business networking group although that sometimes happens naturally. Our main mission is all about having fun. Edit description</p>", u'created': 1245122691000L, u'country': u'US', u'who': u'Wild Boomer Women', u'lon': -111.76000213623047, u'visibility': u'public', u'photos': [{u'thumb_link': u'http://photos2.meetupstatic.com/photos/event/b/5/9/0/thumb_10546480.jpeg', u'highres_link': u'http://photos2.meetupstatic.com/photos/event/b/5/9/0/highres_10546480.jpeg', u'photo_link': u'http://photos4.meetupstatic.com/photos/event/b/5/9/0/600_10546480.jpeg', u'id': 10546480}, {u'thumb_link': u'http://photos2.meetupstatic.com/photos/event/b/5/9/1/thumb_10546481.jpeg', u'highres_link': u'http://photos4.meetupstatic.com/photos/event/b/5/9/1/highres_10546481.jpeg', u'photo_link': u'http://photos4.meetupstatic.com/photos/event/b/5/9/1/600_10546481.jpeg', u'id': 10546481}, {u'thumb_link': u'http://photos3.meetupstatic.com/photos/event/a/8/b/e/thumb_17263198.jpeg', u'highres_link': u'http://photos3.meetupstatic.com/photos/event/a/8/b/e/highres_17263198.jpeg', u'photo_link': u'http://photos3.meetupstatic.com/photos/event/a/8/b/e/600_17263198.jpeg', u'id': 17263198}, {u'thumb_link': u'http://photos4.meetupstatic.com/photos/event/a/a/f/f/thumb_17263775.jpeg', u'highres_link': u'http://photos2.meetupstatic.com/photos/event/a/a/f/f/highres_17263775.jpeg', u'photo_link': u'http://photos4.meetupstatic.com/photos/event/a/a/f/f/600_17263775.jpeg', u'id': 17263775}], u'state': u'AZ', u'group_photo': {u'thumb_link': u'http://photos4.meetupstatic.com/photos/event/b/a/9/2/thumb_147467762.jpeg', u'highres_link': u'http://photos2.meetupstatic.com/photos/event/b/a/9/2/highres_147467762.jpeg', u'photo_link': u'http://photos4.meetupstatic.com/photos/event/b/a/9/2/600_147467762.jpeg', u'id': 147467762}, u'link': u'http://www.meetup.com/Wild-Boomer-Women-Sedona/', u'members': 174, u'urlname': u'Wild-Boomer-Women-Sedona', u'next_event': {u'time': 1398391200000L, u'id': u'171999522', u'name': u'10th ANNUAL FINDING THE GIFT IN SHIFT - SAVE $50!'}, u'timezone': u'US/Arizona', u'organizer': {u'bio': u"I'm a baby boomer, divorced, love life, and love to have fun.  I have a women's social club called Wild Boomer Women.  Check us out wildboomerwomen.com and find out how you can join the fun.", u'id': 3878002, u'name': u'Sue'}, u'id': 1473727, u'name': u'Wild Boomer Women (tm) Sedona'}, {u'category': {u'shortname': u'Community', u'id': 4, u'name': u'Community & Environment'}, u'city': u'Sedona', u'join_mode': u'open', u'lat': 34.790000915527344, u'description': u'<p>The Sedona Collaborative Enterprises Resource Center provides expanded access to resources that help individuals, organizations and communities realize more of their potential, partly by practicing the principles of cooperation, community and collaboration. A couple of previous initiatives for fostering collaboration preceded formation of This MeetUp Group.</p>\n<p>They include an earlier blog site at <a href="http://sedonacollaborative.wordpress.com/" target="_blank">http://sedonacollaborative.wordpress.com/</a> and a web site at&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.sedonacollaborativeenterprises.com/" target="_blank">http://www.sedonacollaborativeenterprises.com/</a>. The most recent development that led to this meetUp is the invitation for a new cause-oriented company, Universal Stewardheirship, Inc. <a href="http://www.universalstewardheirship.com/invitation.htm" target="_blank">www.universalstewardheirship.com/invitation.htm</a><br>\n\n<br>\n\n You may also enjoy reviewing the Interest Survey at <a href="http://survey.constantcontact.com/survey/a07e32pl99agfew39sw/start" target="_blank">http://survey.constantcontact.com/survey/a07e32pl99agfew39sw/start</a></p>\n<p>This new Meet Up group is based on about 40 years of prior experience cocreating model Community Resource Centers in conjunction with United Way Agencies, Community Development Corporations, Public Housing Authorities, churches, communities and other non-profit organizations.</p>\n<p>The Meet Up group members will have access to hundreds of programs, products and services from our cofounding organizations and sponsors.They include <a href="http://www.ultimatedestinyuniversity.org">Ultimate Destiny University for Successful Living</a>, <a href="http://www.centerspace.com">CENTER SPACE</a> (the Center for Spiritual, Personal And Community Empowerment and Enlightenment) and <a href="http://www.candoresourcecenter.com">CAN DO!</a></p>\n<p>In addition to the main Meet Up based in Sedona, AZ, local groups anywhere will be able to provide their members with an ongoing calendar of seminars, workshops, playshops, webinars, membership services, coaching and mentoring services, and access to income producing components including affiliate marketing programs that will earn money for local Meet Up Groups. Just a few examples of income generating affiliate programs are described at <a href="http://www.ultimatepublishingandmarketingresources.com">Ultimate Publishing and marketing Resources.com</a></p>\n<p>&nbsp;</p>\n<p>&nbsp;</p>', u'created': 1290452969000L, u'country': u'US', u'who': u'Members', u'lon': -111.76000213623047, u'visibility': u'public', u'photos': [{u'thumb_link': u'http://photos1.meetupstatic.com/photos/event/4/6/0/2/thumb_336437922.jpeg', u'highres_link': u'http://photos1.meetupstatic.com/photos/event/4/6/0/2/highres_336437922.jpeg', u'photo_link': u'http://photos1.meetupstatic.com/photos/event/4/6/0/2/600_336437922.jpeg', u'id': 336437922}, {u'thumb_link': u'http://photos3.meetupstatic.com/photos/event/1/4/e/8/thumb_337385352.jpeg', u'highres_link': u'http://photos3.meetupstatic.com/photos/event/1/4/e/8/highres_337385352.jpeg', u'photo_link': u'http://photos3.meetupstatic.com/photos/event/1/4/e/8/600_337385352.jpeg', u'id': 337385352}], u'state': u'AZ', u'group_photo': {u'thumb_link': u'http://photos2.meetupstatic.com/photos/event/1/2/2/c/thumb_63004652.jpeg', u'highres_link': u'http://photos2.meetupstatic.com/photos/event/1/2/2/c/highres_63004652.jpeg', u'photo_link': u'http://photos2.meetupstatic.com/photos/event/1/2/2/c/600_63004652.jpeg', u'id': 63004652}, u'link': u'http://www.meetup.com/Sedona-Collaborative-Enterprises/', u'members': 11, u'urlname': u'Sedona-Collaborative-Enterprises', u'next_event': {u'time': 1398303000000L, u'id': u'177961192', u'name': u'Exploring Possible Collaborative StewardHeirShip of 134 Acre Soda Springs Ranch'}, u'timezone': u'US/Arizona', u'organizer': {u'bio': u'I have lived in intentional communities for 25 years, have an MS in Community Economic Development, founded non-profits & companies that provide resources for personal, community & spiritual enlightenment. Seeking like hearted individuals in Sedona.', u'id': 8043119, u'name': u'Charles'}, u'id': 1741533, u'name': u'Sedona Collaborative Enterprises Resource Center'}] for field '_data' is not equal to length of schema list

Process finished with exit code 1

Here is my code including my schema. Keep in mind that the array from the file only contains 3 json objects.

import json
import validictory

# Open sample group json data from meetup.
with open(u'correct_meetup_group_data.json', 'r') as json_data:
    sample_group_data = json.load(json_data)

group_schema = {
    "title": "Meetup Get/2/Groups Schema",
    "description": "Meetup Groups API version 2 http://www.meetup.com/meetup_api/docs/2/groups/",

    "type": "array",
    "items": [{
        "type": "object",
        "properties": {
            "category": {
                "type": "object",
                "properties": {
                     "shortname": {"type": "string"},
                     "id": {"type": "integer"},
                     "name": {"type": "string"},
                 }
            },
            "city": {"type": "string"},
            "who": {"type": "string"},
            "description": {"type": "string"},
            "created": {"type": "integer"},
            "country": {"type": "string"},
            "photos": {
                 "items":[{
                         "type": "object",
                          "properties": {
                              "photo_link": {"type": "string"},
                              "thumb_link": {"type": "string"},
                              "id": {"type": "integer"},
                              "highres_link": {"type": "string"},
                          },
                }]
             },
            "join_mode": {"type": "string"},
            "lon": {"type": "number"},
            "visibility": "string",
            "next_event": {
                "type": "object",
                "properties": {
                    "id": {"type": "integer"},
                    "name": {"type": "string"},
                    "time": {"type": "integer"},
                }
            },
            "state": {"type": "string"},
            "group_photo": {
                "type": "object",
                "properties":{
                        "photo_link": {"type": "string"},
                        "thumb_link": {"type": "string"},
                        "id": {"type": "integer"},
                        "highres_link": {"type": "string"},
                }
            },
            "link": {"type": "string"},
            "members": {"type": "integer"},
            "timezone": {"type": "string"},
            "lat": {"type": "number"},
            "urlname": {"type": "string"},
            "organizer": {
                "type": "object",
                "properties":{
                    "bio": {"type": "string"},
                    "id": {"type": "integer"},
                    "name": {"type": "string"},
                }
            },
            "id": {"type": "integer"},
            "name": {"type": "string"},
        }
    }]
}

validictory.validate(sample_group_data, group_schema)

Here are the contents for the file 'correct_meetup_group_data.json'

[{"category": {"shortname": "Spirituality", "id": 22, "name": "New Age & Spirituality"}, "city": "Sedona", "who": "Members", "description": "<p>The purpose of CENTER SPACE Sedona is to foster and facilitate spiritual, personal and community empowerment and enlightenment. <a href=\"http://www.centerspace.com\">CENTER SPACE</a> is a non-profit membership organization that has been publishing, producing and sharing publications, seminars and membership services since 1985.</p>\n<p>For examples of prior programs and events featuring world-class authors and trainers for up to 1,800 participants, see <a href=\"http://normanvincentpeale.wordpress.com\" target=\"_blank\"></a><a href=\"http://normanvincentpeale.wordpress.com\" target=\"_blank\"></a><a href=\"http://normanvincentpeale.wordpress.com\" target=\"_blank\"></a><a href=\"http://normanvincentpeale.wordpress.com\" target=\"_blank\"></a><a href=\"http://normanvincentpeale.wordpress.com\" target=\"_blank\"></a><a href=\"http://normanvincentpeale.wordpress.com\" target=\"_blank\"><a href=\"http://normanvincentpeale.wordpress.com\" title=\"http://normanvincentpeale.wordpress.com\" target=\"_blank\">http://normanvincentpeale.wordpress.com</a></a>, <a href=\"http://www.candoresourcecenter.com\">www.candoresourcecenter.com</a> and <a href=\"http://www.seedonow.com\">www.seedonow.com</a>.</p>\n<p>Formal establishment of a Sedona Chapter was a result of the new S<a href=\"http://www.sedonacollaborativeenterprises.com\">edona Collaborative Enterprises</a> (www.sedonacollaborativeenterprises.com). Participants were invited to share their priority interests in six main project areas that follow in the order of partcipants' priorities including: #1 Fostering Spiritual and Community Enlightenment; #2 <a href=\"http://www.sedonacollaborativeenterprises.com/intentional_communities.htm\">Cocreating Intentional Community</a>;  #3<a href=\"http://www.sedonacollaborativeenterprises.com/retreat_centers.htm\"> Cocreating a Retreat Center</a>; #4 <a href=\"http://www.usmark.org\">Establishing a Public Company for Empowerment and Enlightenment</a>; #5 Expanding the <a href=\"http://www.ultimatedestinyuniversity.org\">Ultimate Destiny University for Successful Living</a>; and #6 <a href=\"http://www.sedonacollaborativeenterprises.com/series_llc.htm\">Creating a new Series Limited Liability Company</a> to attract funding for various for-profit ventures.</p>\n<p>As the top shared interest was spiritual, personal and community enlightenment, we decided to establish a Meet Up group as part of the process of sharing our vision, sense of mission and invite any other individuals and organizations who resonate with them to participate.</p>\n<p>If you are interested in spiritually centered approaches to solving the personal, community, national and global \"success puzzles\" we face including social, economic and environmental challenges, please do join this Meet Up and share your wisdom, expertise and experiences with us.</p>\n<p>Thank you for taking time to visit and review what we have shared so far.</p>\n<p>PS. If you would like an overview of how we are helping introduce the spiritual principles and practices known as New Thought, please visit <a href=\"http://www.universalcenterforspiritualliving.org\">Universal Center for Spiritual Living</a>. In addition,&nbsp; the more ulimate vision we are participating in to help Solve Our Personal, Community and Global Success Puzzles is shared at <a href=\"http://www.ultimatesuccesspuzzle.com\">Ultimate Success Puzzle.com</a></p>", "created": 1288380544000, "country": "US", "photos": [{"photo_link": "http://photos3.meetupstatic.com/photos/event/1/3/9/4/600_337385012.jpeg", "thumb_link": "http://photos3.meetupstatic.com/photos/event/1/3/9/4/thumb_337385012.jpeg", "id": 337385012, "highres_link": "http://photos3.meetupstatic.com/photos/event/1/3/9/4/highres_337385012.jpeg"}], "join_mode": "open", "lon": -111.76000213623047, "visibility": "public", "next_event": {"id": "177972502", "name": "Exploring Possible Collaborative StewardHeirShip of 134 Acre Soda Springs Ranch", "time": 1398303000000}, "state": "AZ", "group_photo": {"photo_link": "http://photos4.meetupstatic.com/photos/event/5/2/3/8/600_19161048.jpeg", "thumb_link": "http://photos4.meetupstatic.com/photos/event/5/2/3/8/thumb_19161048.jpeg", "id": 19161048, "highres_link": "http://photos4.meetupstatic.com/photos/event/5/2/3/8/highres_19161048.jpeg"}, "link": "http://www.meetup.com/Center-for-Spiritual-Personal-And-Community-Enlightenment/", "members": 24, "timezone": "US/Arizona", "lat": 34.790000915527344, "urlname": "Center-for-Spiritual-Personal-And-Community-Enlightenment", "organizer": {"bio": "I have lived in intentional communities for 25 years, have an MS in Community Economic Development, founded non-profits & companies that provide resources for personal, community & spiritual enlightenment. Seeking like hearted individuals in Sedona.", "id": 8043119, "name": "Charles"}, "id": 1730140, "name": "Center for Spiritual, Personal And Community Enlightenment"}, {"category": {"shortname": "Social", "id": 31, "name": "Socializing"}, "city": "Sedona", "who": "Wild Boomer Women", "description": "<p>Wild Boomer Women is an instant community of girlfriends, events and activities for women over 40.</p>\n<p>Join us on the journey of getting out and having fun. Don't stay home just because you can't find other girlfriends to go out with, or you have other girlfriends but they don't seem to want to have fun. Meet new like minded girlfriends.</p>\n<p>We have been having fun in the greater Phoenix area since 2008 and formed a private club called The Bucket List Club in January, 2012 - we now have over 320 members. \u00a0You can also join that group and attend events if you ever go down the hill.</p>\n<p>Please visit our website at wildboomerwomen.com to find out more about the group and get on our mailing list.</p>\n<p>HERE ARE THE REQUIREMENTS TO JOIN THIS GROUP: You must be open to new adventures, be a postivie thinker, outgoing, willing to share about yourself and open to having fun to join this group. If you are a negative person, complain or gossip, this group is not for you. This is not just a movie group or a dinner group - although we may do these things too. This is for women seeking adventure and fun. It is also not a business networking group although that sometimes happens naturally. Our main mission is all about having fun. Edit description</p>", "created": 1245122691000, "country": "US", "photos": [{"photo_link": "http://photos4.meetupstatic.com/photos/event/b/5/9/0/600_10546480.jpeg", "thumb_link": "http://photos2.meetupstatic.com/photos/event/b/5/9/0/thumb_10546480.jpeg", "id": 10546480, "highres_link": "http://photos2.meetupstatic.com/photos/event/b/5/9/0/highres_10546480.jpeg"}, {"photo_link": "http://photos4.meetupstatic.com/photos/event/b/5/9/1/600_10546481.jpeg", "thumb_link": "http://photos2.meetupstatic.com/photos/event/b/5/9/1/thumb_10546481.jpeg", "id": 10546481, "highres_link": "http://photos4.meetupstatic.com/photos/event/b/5/9/1/highres_10546481.jpeg"}, {"photo_link": "http://photos3.meetupstatic.com/photos/event/a/8/b/e/600_17263198.jpeg", "thumb_link": "http://photos3.meetupstatic.com/photos/event/a/8/b/e/thumb_17263198.jpeg", "id": 17263198, "highres_link": "http://photos3.meetupstatic.com/photos/event/a/8/b/e/highres_17263198.jpeg"}, {"photo_link": "http://photos4.meetupstatic.com/photos/event/a/a/f/f/600_17263775.jpeg", "thumb_link": "http://photos4.meetupstatic.com/photos/event/a/a/f/f/thumb_17263775.jpeg", "id": 17263775, "highres_link": "http://photos2.meetupstatic.com/photos/event/a/a/f/f/highres_17263775.jpeg"}], "join_mode": "open", "lon": -111.76000213623047, "visibility": "public", "next_event": {"id": "171999522", "name": "10th ANNUAL FINDING THE GIFT IN SHIFT - SAVE $50!", "time": 1398391200000}, "state": "AZ", "group_photo": {"photo_link": "http://photos4.meetupstatic.com/photos/event/b/a/9/2/600_147467762.jpeg", "thumb_link": "http://photos4.meetupstatic.com/photos/event/b/a/9/2/thumb_147467762.jpeg", "id": 147467762, "highres_link": "http://photos2.meetupstatic.com/photos/event/b/a/9/2/highres_147467762.jpeg"}, "link": "http://www.meetup.com/Wild-Boomer-Women-Sedona/", "members": 174, "timezone": "US/Arizona", "lat": 34.790000915527344, "urlname": "Wild-Boomer-Women-Sedona", "organizer": {"bio": "I'm a baby boomer, divorced, love life, and love to have fun.  I have a women's social club called Wild Boomer Women.  Check us out wildboomerwomen.com and find out how you can join the fun.", "id": 3878002, "name": "Sue"}, "id": 1473727, "name": "Wild Boomer Women (tm) Sedona"}, {"category": {"shortname": "Community", "id": 4, "name": "Community & Environment"}, "city": "Sedona", "who": "Members", "description": "<p>The Sedona Collaborative Enterprises Resource Center provides expanded access to resources that help individuals, organizations and communities realize more of their potential, partly by practicing the principles of cooperation, community and collaboration. A couple of previous initiatives for fostering collaboration preceded formation of This MeetUp Group.</p>\n<p>They include an earlier blog site at <a href=\"http://sedonacollaborative.wordpress.com/\" target=\"_blank\">http://sedonacollaborative.wordpress.com/</a> and a web site at&nbsp;&nbsp;&nbsp;&nbsp; <a href=\"http://www.sedonacollaborativeenterprises.com/\" target=\"_blank\">http://www.sedonacollaborativeenterprises.com/</a>. The most recent development that led to this meetUp is the invitation for a new cause-oriented company, Universal Stewardheirship, Inc. <a href=\"http://www.universalstewardheirship.com/invitation.htm\" target=\"_blank\">www.universalstewardheirship.com/invitation.htm</a><br>\n\n<br>\n\n You may also enjoy reviewing the Interest Survey at <a href=\"http://survey.constantcontact.com/survey/a07e32pl99agfew39sw/start\" target=\"_blank\">http://survey.constantcontact.com/survey/a07e32pl99agfew39sw/start</a></p>\n<p>This new Meet Up group is based on about 40 years of prior experience cocreating model Community Resource Centers in conjunction with United Way Agencies, Community Development Corporations, Public Housing Authorities, churches, communities and other non-profit organizations.</p>\n<p>The Meet Up group members will have access to hundreds of programs, products and services from our cofounding organizations and sponsors.They include <a href=\"http://www.ultimatedestinyuniversity.org\">Ultimate Destiny University for Successful Living</a>, <a href=\"http://www.centerspace.com\">CENTER SPACE</a> (the Center for Spiritual, Personal And Community Empowerment and Enlightenment) and <a href=\"http://www.candoresourcecenter.com\">CAN DO!</a></p>\n<p>In addition to the main Meet Up based in Sedona, AZ, local groups anywhere will be able to provide their members with an ongoing calendar of seminars, workshops, playshops, webinars, membership services, coaching and mentoring services, and access to income producing components including affiliate marketing programs that will earn money for local Meet Up Groups. Just a few examples of income generating affiliate programs are described at <a href=\"http://www.ultimatepublishingandmarketingresources.com\">Ultimate Publishing and marketing Resources.com</a></p>\n<p>&nbsp;</p>\n<p>&nbsp;</p>", "created": 1290452969000, "country": "US", "photos": [{"photo_link": "http://photos1.meetupstatic.com/photos/event/4/6/0/2/600_336437922.jpeg", "thumb_link": "http://photos1.meetupstatic.com/photos/event/4/6/0/2/thumb_336437922.jpeg", "id": 336437922, "highres_link": "http://photos1.meetupstatic.com/photos/event/4/6/0/2/highres_336437922.jpeg"}, {"photo_link": "http://photos3.meetupstatic.com/photos/event/1/4/e/8/600_337385352.jpeg", "thumb_link": "http://photos3.meetupstatic.com/photos/event/1/4/e/8/thumb_337385352.jpeg", "id": 337385352, "highres_link": "http://photos3.meetupstatic.com/photos/event/1/4/e/8/highres_337385352.jpeg"}], "join_mode": "open", "lon": -111.76000213623047, "visibility": "public", "next_event": {"id": "177961192", "name": "Exploring Possible Collaborative StewardHeirShip of 134 Acre Soda Springs Ranch", "time": 1398303000000}, "state": "AZ", "group_photo": {"photo_link": "http://photos2.meetupstatic.com/photos/event/1/2/2/c/600_63004652.jpeg", "thumb_link": "http://photos2.meetupstatic.com/photos/event/1/2/2/c/thumb_63004652.jpeg", "id": 63004652, "highres_link": "http://photos2.meetupstatic.com/photos/event/1/2/2/c/highres_63004652.jpeg"}, "link": "http://www.meetup.com/Sedona-Collaborative-Enterprises/", "members": 11, "timezone": "US/Arizona", "lat": 34.790000915527344, "urlname": "Sedona-Collaborative-Enterprises", "organizer": {"bio": "I have lived in intentional communities for 25 years, have an MS in Community Economic Development, founded non-profits & companies that provide resources for personal, community & spiritual enlightenment. Seeking like hearted individuals in Sedona.", "id": 8043119, "name": "Charles"}, "id": 1741533, "name": "Sedona Collaborative Enterprises Resource Center"}]
jamesturk commented 10 years ago

the latest validictory gives a (slightly) more helpful error.

the issue is that when you give items a list of objects, it validates the objects in order (e.g. the 0th element should match the 0th schema, the 1st element the 1st schema...), if you make items just an object (drop the [] from around the schema definition) it'll attempt to validate all of them according to one schema

(I fixed this by dropping the [] locally on your test code and then there is still an error in your schema regarding visibility not being declared properly (should be {type: string}, not "string", so a few more tweaks to your jsonschema will be needed)

nueverest commented 10 years ago

When you say that you dropped the [] in the test code, which [] are you referring to?

jamesturk commented 10 years ago
"items": [{

... }]

should be

"items": {

... }

nueverest commented 10 years ago

Got it. Thanks for you rapid response. I also had to do this under the "photos": { "Items": { section.

This is an awesome tool!